var deleteForm = false;

function Is() {
    var agent   = navigator.userAgent.toLowerCase();

    this.major  = parseInt(navigator.appVersion);
    this.minor  = parseFloat(navigator.appVersion);

    this.ns     = ((agent.indexOf('mozilla')   != -1) &&
                  (agent.indexOf('spoofer')    == -1) &&
                  (agent.indexOf('compatible') == -1) &&
                  (agent.indexOf('opera')      == -1) &&
                  (agent.indexOf('webtv')      == -1));
    this.ns2    = (this.ns && (this.major      ==  2));
    this.ns3    = (this.ns && (this.major      ==  3));
    this.ns4    = (this.ns && (this.major      ==  4));
    this.ns6    = (this.ns && (this.major      >=  5));
    this.ie     = (agent.indexOf("msie")       != -1);
    this.ie3    = (this.ie && (this.major      <   4));
    this.ie4    = (this.ie && (this.major      ==  4) &&
                  (agent.indexOf("msie 5.0")   == -1));
    this.ie5    = (this.ie && (this.major      ==  4) &&
                  (agent.indexOf("msie 5.0")   != -1));
    this.ie6    = (this.ie && (this.major      ==  4) &&
                  (agent.indexOf("msie 6.0")   != -1));
    this.ieX    = (this.ie && !this.ie3 && !this.ie4);
	this.opera  = (agent.indexOf('opera')      == 0) 
}

var is = new Is();

function launch(newURL, newName, newFeatures, orgName) {
	var PopWin = open(newURL, newName, newFeatures);
	if (PopWin.opener == null) // if something went wrong
		PopWin.opener = window;
		PopWin.opener.name = orgName;
	return PopWin;
}

var ah = 480;
var aw = 640;

function launchPop(url,toolbar,resize,scroll,size) {

	if(is.ns4||is.ns6||is.opera) {
		available_width=innerWidth;
		available_height=innerHeight;
	} else if(is.ie4||is.ie5||is.ie6) {
		available_width=document.body.clientWidth;
		available_height=document.body.clientHeight;
	}
	if(size=='login') {
		ah = 320;
		aw = 400;
	} else if(size=='aim') {
		ah = 10;
		aw = 10;
	} else if(size=='calendar') {
		ah = 140;
		aw = 160;
	} else if(size=='landscape') {
		ah = 530;
		aw = 658;
	} else if(size=='portrait') {
		ah = 500;
		aw = 530;
	} else if(size=='printer') {
		ah = available_height;
		aw = 600;
	} else if(size=='full') {
		ah = available_height;
		aw = available_width;
	} else if(size=='zoom') {
		ah = 600;
		aw = 500;
	}else {
		ah = 500;
		aw = 600;
	}

	var popLeft = (available_width/2)-(aw/2);
	var popTop = (available_height/2)-(ah/2);
	if(size=='aim'){
		var popLeft = 9999;
		var popTop = 0;
	}
	var str = "left="+popLeft+",screenX="+popLeft+",top="+popTop+",screenY="+popTop;

	if (!window.myPop || window.myPop.closed) {
		str += ",height=" + ah;
		str += ",innerHeight=" + ah;
		str += ",width=" + aw;
		str += ",innerWidth=" + aw;
		if(scroll){
			str += ",scrollbars=yes";
		}
		if(toolbar){
			str += ",toolbar=yes";
		}
		if(resize){
			str += ",resizable";
		}
		str += ",status=yes";
		myPop = open(url, "myPop", str);
		myPop.focus();
	} else {
		myPop.location.href = url;
		myPop.focus();
	}
}

function launchCal(url,toolbar,resize,scroll,size) {

	if(is.ns4||is.ns6||is.opera) {
		available_width=innerWidth;
		available_height=innerHeight;
	} else if(is.ie4||is.ie5) {
		available_width=document.body.clientWidth;
		available_height=document.body.clientHeight;
	}
	ah = 190;
	aw = 180;

	var calLeft = (available_width/2)-(aw/2);
	var calTop = (available_height/2)-(ah/2);
	var str = "left="+calLeft+",screenX="+calLeft+",top="+calTop+",screenY="+calTop;

	if (!window.myCal || window.myCal.closed) {
		str += ",height=" + ah;
		str += ",innerHeight=" + ah;
		str += ",width=" + aw;
		str += ",innerWidth=" + aw;
		if(scroll){
			str += ",scrollbars=yes";
		}
		if(toolbar){
			str += ",toolbar=yes";
		}
		if(resize){
			str += ",resizable";
		}
		str += ",status=no";
		myCal = open(url, "myCal", str);
		myCal.focus();
	} else {
		myCal.location.href = url;
		myCal.focus();
	}
}

function trapint(event) {
	if(is.ns4||is.ns6||is.opera) {
		if (event.which>46 && event.which<58) {
			return true;
		} else {
			event.preventDefault();
		}
	}else{
		if (event.keyCode>46 && event.keyCode<58) {
			return true;
		} else {
			event.returnValue = false;
			return false;
		}
	}
}

function trapfloat(event) {
	if(is.ns4||is.ns6||is.opera) {
		if (event.which==13 || event.which==8 || (event.which>45 && event.which<58)) {
			return true;
		} else {
			event.preventDefault();
		}
	}else{
		if (event.keyCode==13 || event.keyCode==8 || (event.keyCode>45 && event.keyCode<58)) {
			return true;
		} else {
			event.returnValue = false;
			return false;
		}
	}
}

function isValidTime(formField) {
	var errors = "";
    var jumpto = "";
	var hasMeridian = false;
	form_el = "document.getElementById('"+formField+"')";
	jumpto = eval(form_el);
	var value = jumpto.value;
	var re = /^\d{1,2}[:]\d{2}([:]\d{2})?( [aApP][mM]?)?$/;
	if (!re.test(value)) {errors = true;}
	if (value.toLowerCase().indexOf("p") != -1) { hasMeridian = true; }
	if (value.toLowerCase().indexOf("a") != -1) { hasMeridian = true; }
	var values = value.split(":");
	if ( (parseFloat(values[0]) < 0) || (parseFloat(values[0]) > 23) ) {errors = true;}
	if (hasMeridian) {
		if ( (parseFloat(values[0]) < 1) || (parseFloat(values[0]) > 12) ) {errors = true;}
	}
	if ( (parseFloat(values[1]) < 0) || (parseFloat(values[1]) > 59) ) {errors = true;}
	if (values.length > 2) {
		if ( (parseFloat(values[2]) < 0) || (parseFloat(values[2]) > 59) ) {errors = true;}
	}
	if(errors){
		alert('Time must be in the 12:00 PM format');
		jumpto.focus();
		return false;
	}
	return true;
}


function limitTextarea(form_name,formField,maxlimit) {
	frm = document.forms[form_name];
	var field = frm.elements[formField];
	if (field.value.length > maxlimit) {
		field.value = field.value.substring(0, maxlimit);
		alert("This textarea has a limit of "+maxlimit+" characters. It has been truncated, please review.");
	}
}

function screen_name(form_name,formField) {
	frm = document.forms[form_name];
	var field = frm.elements[formField];
	if(typeof(frm.screen_names) != 'undefined' && frm.screen_names.value != "" && field.value != ''){
		screen_namesArray = frm.screen_names.value.split(",");
		for(i=0; i<screen_namesArray.length; i++){
			screen_namesField = screen_namesArray[i];
			if(field.value.toUpperCase() == screen_namesField.toUpperCase()){
				alert("The screen name "+field.value+" has been used, please try agian.");
				return;
			}
		}
	}
	return;
}

function trapdate(form_name,formField) {
	frm = document.forms[form_name];
	var field = frm.elements[formField];
	msg = '';
	jumpto = '';
	if(field.value != ''){
		var regex = /^(20)([0-9]{2}-((0[13-9]|1[0-2])-(0[1-9]|[12][0-9]|30)| (0[13578]|1[02])-31|02-(0[1-9]|1[0-9]|2[0-8]))|([2468]0| [02468][48]|[13579][26])-02-29)$/;
		if (!regex.test(field.value)) {
			msg = msg + '\n - Dates must be in the ****-**-** (year-month-day) format';
			alert(msg);
		}
	}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_displayStatusMsg(msgStr) { //v1.0
  status=msgStr;
  document.MM_returnValue = true;
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function restore() {
  location.reload()
}

function ucw(str){
	str = str.replace('_',' ');
	strArray = str.split(' ');
	for(j=0; j<strArray.length; j++){
		strArray[j] = strArray[j].charAt(0).toUpperCase() + strArray[j].substring(1);
	}
	return strArray.join(' ');
}

function validate(form){
		if(deleteForm){
			deleteForm = false;
			return true;
		}
        var jumpto = "";
        var errors = "";
        var requiredField = "";
        var display = "";
        var form_el = "";
        var form_el_val = "";
		if(typeof(form.required) != 'undefined' && form.required.value != "" && form.required.value != " "){

			requiredArray = form.required.value.split(",");

			for(i=0; i<requiredArray.length; i++){
				requiredField = requiredArray[i];
				display = ucw(requiredField);

				form_el = "document.getElementById('"+form.name+"["+requiredField+"]')";

				form_el_val = "document.getElementById('"+form.name+"["+requiredField+"]').value";

				if (eval(form_el_val) == "" || eval(form_el_val) == " ") {
					errors = 'Please fill in all required fields:\n';
					if (!jumpto) {
						jumpto = eval(form_el);
					}
				}
				else if(requiredField == 'email_address' || requiredField == 'email' || requiredField == 'username'){

					var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
					var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
					var reg1 = new RegExp(reg1str);
					var reg2 = new RegExp(reg2str);
					if (reg1.test(eval(form_el_val)) || !reg2.test(eval(form_el_val))) {
						errors += 'Please use a valid Email Address:\n';
						if (!jumpto) {
							jumpto = eval(form_el);
						}
					}
				}
			}
		}

		if (errors) {
			string = errors;
			alert(string);
			try{
				jumpto.focus();
			}
			catch(exception){
				return false;
			};
			return false;
		}
		else {
			return true;
		}
}

function confirmDelete(message){
	var agree=confirm('Are You Sure ' + message);
	deleteForm = true;
	if (agree)
		return true ;
	else
		return false ;
}

function menuHover(id,bgcolor,color){
	var menu_el = "document.getElementById('menuBlock"+id+"')";
	var menu_el = eval(menu_el);
	menu_el.style.background = bgcolor;
	var menu_el = "document.getElementById('menuItem"+id+"')";
	var menu_el = eval(menu_el);
	menu_el.style.color=color;
}

function updateIMG(align,img,id){
	var imgid = 'img_'+id;
	var val = img;
	im = document.getElementById(imgid);
	frm = document.getElementById(id);
	if(img == 'upload/remove_image.gif'){
		img = '/upload/img.gif';
		val = '';
	}
	if(img == 'upload/products/remove_image.gif' ){
		img = '/upload/products/img.gif';
		val = '';
	}
	im.src = img;

	val = val.replace('upload/','');
	val = val.replace('/products/','');

	frm.value=val;
}

function hideTooltip(){
	document.getElementById('tooltip').style.display="none";
}

function showTooltip(event,tipContent){
	offset = 10;
	bWidth = document.body.clientWidth + document.body.scrollLeft;
	compare = bWidth - event.clientX;
	if(compare<400) offset = -100;
	if(compare<300) offset = -200;
	document.getElementById('tooltip').innerHTML='<table height="100%" width="100%" border="0" cellspacing="0" cellpadding="0">'+unescape(tipContent)+'</table> ';
	document.getElementById('tooltip').style.display="block";
	document.getElementById('tooltip').style.top=event.clientY+10;
	document.getElementById('tooltip').style.left=event.clientX+offset;
}

function fixLink(els,el){
	try {
		var elArray = els.split(",")
		for(i=0; i<elArray.length; i++){
			parent.document.getElementById(elArray[i]).className = 'frame-menu';
		}
		parent.document.getElementById(el).className = 'frame-menu-here';
	}
	catch(exception) {
	}
}

function loadIframe(edit){
	frmsrc = document.getElementById('contentFrame').src;
	var parts = frmsrc.split('?');
	if(edit=='edit'){
		edit='?edit=true';
		if(is.ns4||is.ns6||is.opera) {
			available_width=innerWidth-10;
			available_height=innerHeight;
		} else if(is.ie4||is.ie5) {
			available_width=document.body.clientWidth;
			available_height=document.body.clientHeight;
		}
		height=available_height-235;
		height='&height='+height;
		width=available_width-168;
		width='&width='+width;
		document.getElementById('editview').href="javascript:loadIframe('')";
		document.getElementById('editview').innerHTML='View Page';
		var url = parts[0]+edit+height+width;
	}else{
		document.getElementById('editview').href="javascript:loadIframe('edit')";
		document.getElementById('editview').innerHTML='Edit Page';
		var url = parts[0]+edit;
	}
	document.getElementById('contentFrame').src = url;
}

function show_calendar(id){
	url = "popup.html?action=calendar&id="+id;
	launchCal(url,false,false,false,"calendar");
}

function showContent(){
	numtds = document.getElementsByTagName('td').length;
	tds = document.getElementsByTagName('td');
	if(is.ns4||is.ns6||is.opera) {
		available_width=innerWidth-10;
		available_height=innerHeight;
	} else if(is.ie4||is.ie5) {
		available_width=document.body.clientWidth;
		available_height=document.body.clientHeight;
	}
	diff = 140;
	cellspaces = (numtds-1)*6;
	tdheight = Math.floor((available_height-(diff+cellspaces))/numtds);
	for(i=0; i<numtds; i++){
		tds[i].style.height = tdheight;
	}
	height = available_height-diff;
	width=available_width-145;
	var Content_el = document.getElementById('contentFrame');
	var Menu_el = document.getElementById('menu');
	Content_el.style.width=width;
	Content_el.style.height=(tdheight*numtds)+cellspaces;
	Menu_el.style.display='block';
	return true ;
}

/* Carclub sites probably used this one 
function showContent(){
	var Content_el = document.getElementById('divContent');
	Content_el.style.width='100%';
	Content_el.style.height='100%';
	return true ;
}
*/
function showAdminContent(){
	numtds = document.getElementsByTagName('td').length;
	tds = document.getElementsByTagName('td');
	if(is.ns4||is.ns6||is.opera) {
		available_width=innerWidth-10;
		available_height=innerHeight;
	} else if(is.ie4||is.ie5) {
		available_width=document.body.clientWidth;
		available_height=document.body.clientHeight;
	}
	diff = 55;
	cellspaces = (numtds-1)*6;
	tdheight = Math.floor((available_height-(diff+cellspaces))/numtds);
	for(i=0; i<numtds; i++){
		tds[i].style.height = tdheight;
	}
	height = available_height-diff;
	width=available_width-145;
	var Content_el = document.getElementById('adminFrame');
	var Menu_el = document.getElementById('adminMenu');
	Content_el.style.width=width;
	Content_el.style.height=(tdheight*numtds)+cellspaces;
	Menu_el.style.display='block';
	return true ;
}

function fixForm(fixer,fixee){
	els = "address_1,address_2,city,state,zipcode";
	elsArray = els.split(",");
	for(i=0; i<elsArray.length; i++){
		elsField = elsArray[i];

		fixerform_el = "document.getElementById('_"+fixer+"_addresses["+elsField+"]')";
		fixeeform_el = "document.getElementById('_"+fixee+"_addresses["+elsField+"]')";
		fixerform_el_val = "document.getElementById('_"+fixer+"_addresses["+elsField+"]').value";
		fixerform_el_val = eval(fixerform_el_val);
		fixeeform_el = eval(fixeeform_el);
		fixeeform_el.value = fixerform_el_val;
	}
}

var Cards = new makeArray(8);
Cards[0] = new CardType("MasterCard", "51,52,53,54,55", "16");
var MasterCard = Cards[0];
Cards[1] = new CardType("VisaCard", "4", "13,16");
var VisaCard = Cards[1];
Cards[2] = new CardType("AmExCard", "34,37", "15");
var AmExCard = Cards[2];
Cards[3] = new CardType("DinersClubCard", "30,36,38", "14");
var DinersClubCard = Cards[3];
Cards[4] = new CardType("DiscoverCard", "6011", "16");
var DiscoverCard = Cards[4];
Cards[5] = new CardType("enRouteCard", "2014,2149", "15");
var enRouteCard = Cards[5];
Cards[6] = new CardType("JCBCard", "3088,3096,3112,3158,3337,3528", "16");
var JCBCard = Cards[6];
var LuhnCheckSum = Cards[7] = new CardType();

function CheckCardNumber(form) {
	var tmpyear;
	if (form.CardName.value.length == 0) {
	alert("Please enter a Name on Card.");
	form.CardName.focus();
	return;
	}
	if (form.CardNumber.value.length == 0) {
	alert("Please enter a Card Number.");
	form.CardNumber.focus();
	return;
	}
	if (form.ExpYear.value.length == 0) {
	alert("Please enter the Expiration Year.");
	form.ExpYear.focus();
	return;
	}
	if (form.ExpYear.value > 96)
	tmpyear = "19" + form.ExpYear.value;
	else if (form.ExpYear.value < 21)
	tmpyear = "20" + form.ExpYear.value;
	else {
	alert("The Expiration Year is not valid.");
	return;
	}
	tmpmonth = form.ExpMon.options[form.ExpMon.selectedIndex].value;

	if (!(new CardType()).isExpiryDate(tmpyear, tmpmonth)) {
	alert("This card has already expired.");
	return;
	}
	card = form.CardType.options[form.CardType.selectedIndex].value;
	var retval = eval(card + ".checkCardNumber(\"" + form.CardNumber.value +
	"\", " + tmpyear + ", " + tmpmonth + ");");
	cardname = "";
	if (retval)
		form.submit();
	else {
	for (var n = 0; n < Cards.size; n++) {
	if (Cards[n].checkCardNumber(form.CardNumber.value, tmpyear, tmpmonth)) {
	cardname = Cards[n].getCardType();
	break;
	}
	}
	if (cardname.length > 0) {
	alert("This looks like a " + cardname + " number, not a " + card + " number.");
	}
	else {
	alert("This card number is not valid.");
      }
   }
}

function CardType() {
	var n;
	var argv = CardType.arguments;
	var argc = CardType.arguments.length;

	this.objname = "object CardType";

	var tmpcardtype = (argc > 0) ? argv[0] : "CardObject";
	var tmprules = (argc > 1) ? argv[1] : "0,1,2,3,4,5,6,7,8,9";
	var tmplen = (argc > 2) ? argv[2] : "13,14,15,16,19";

	this.setCardNumber = setCardNumber;  // set CardNumber method.
	this.setCardType = setCardType;  // setCardType method.
	this.setLen = setLen;  // setLen method.
	this.setRules = setRules;  // setRules method.
	this.setExpiryDate = setExpiryDate;  // setExpiryDate method.

	this.setCardType(tmpcardtype);
	this.setLen(tmplen);
	this.setRules(tmprules);
	if (argc > 4)
	this.setExpiryDate(argv[3], argv[4]);

	this.checkCardNumber = checkCardNumber;  // checkCardNumber method.
	this.getExpiryDate = getExpiryDate;  // getExpiryDate method.
	this.getCardType = getCardType;  // getCardType method.
	this.isCardNumber = isCardNumber;  // isCardNumber method.
	this.isExpiryDate = isExpiryDate;  // isExpiryDate method.
	this.luhnCheck = luhnCheck;// luhnCheck method.
	return this;
}

function checkCardNumber() {
	var argv = checkCardNumber.arguments;
	var argc = checkCardNumber.arguments.length;
	var cardnumber = (argc > 0) ? argv[0] : this.cardnumber;
	var year = (argc > 1) ? argv[1] : this.year;
	var month = (argc > 2) ? argv[2] : this.month;

	this.setCardNumber(cardnumber);
	this.setExpiryDate(year, month);

	if (!this.isCardNumber())
	return false;
	if (!this.isExpiryDate())
	return false;

	return true;
}

function getCardType() {
	return this.cardtype;
}

function getExpiryDate() {
	return this.month + "/" + this.year;
}

function isCardNumber() {
	var argv = isCardNumber.arguments;
	var argc = isCardNumber.arguments.length;
	var cardnumber = (argc > 0) ? argv[0] : this.cardnumber;
	if (!this.luhnCheck())
	return false;

	for (var n = 0; n < this.len.size; n++)
	if (cardnumber.toString().length == this.len[n]) {
	for (var m = 0; m < this.rules.size; m++) {
	var headdigit = cardnumber.substring(0, this.rules[m].toString().length);
	if (headdigit == this.rules[m])
	return true;
	}
	return false;
	}
	return false;
}

function isExpiryDate() {
	var argv = isExpiryDate.arguments;
	var argc = isExpiryDate.arguments.length;

	year = argc > 0 ? argv[0] : this.year;
	month = argc > 1 ? argv[1] : this.month;

	if (!isNum(year+""))
	return false;
	if (!isNum(month+""))
	return false;
	today = new Date();
	expiry = new Date(year, month);
	if (today.getTime() > expiry.getTime())
	return false;
	else
	return true;
}

function isNum(argvalue) {
	argvalue = argvalue.toString();

	if (argvalue.length == 0)
	return false;

	for (var n = 0; n < argvalue.length; n++)
	if (argvalue.substring(n, n+1) < "0" || argvalue.substring(n, n+1) > "9")
	return false;

	return true;
}

function luhnCheck() {
	var argv = luhnCheck.arguments;
	var argc = luhnCheck.arguments.length;

	var CardNumber = argc > 0 ? argv[0] : this.cardnumber;

	if (! isNum(CardNumber)) {
	return false;
	  }

	var no_digit = CardNumber.length;
	var oddoeven = no_digit & 1;
	var sum = 0;

	for (var count = 0; count < no_digit; count++) {
	var digit = parseInt(CardNumber.charAt(count));
	if (!((count & 1) ^ oddoeven)) {
	digit *= 2;
	if (digit > 9)
	digit -= 9;
	}
	sum += digit;
	}
	if (sum % 10 == 0)
	return true;
	else
	return false;
}

function makeArray(size) {
	this.size = size;
	return this;
}

function setCardNumber(cardnumber) {
	this.cardnumber = cardnumber;
	return this;
}

function setCardType(cardtype) {
	this.cardtype = cardtype;
	return this;
}

function setExpiryDate(year, month) {
	this.year = year;
	this.month = month;
	return this;
}

function setLen(len) {
	if (len.length == 0 || len == null)
	len = "13,14,15,16,19";

	var tmplen = len;
	n = 1;
	while (tmplen.indexOf(",") != -1) {
	tmplen = tmplen.substring(tmplen.indexOf(",") + 1, tmplen.length);
	n++;
	}
	this.len = new makeArray(n);
	n = 0;
	while (len.indexOf(",") != -1) {
	var tmpstr = len.substring(0, len.indexOf(","));
	this.len[n] = tmpstr;
	len = len.substring(len.indexOf(",") + 1, len.length);
	n++;
	}
	this.len[n] = len;
	return this;
}

function setRules(rules) {
	if (rules.length == 0 || rules == null)
	rules = "0,1,2,3,4,5,6,7,8,9";
	  
	var tmprules = rules;
	n = 1;
	while (tmprules.indexOf(",") != -1) {
	tmprules = tmprules.substring(tmprules.indexOf(",") + 1, tmprules.length);
	n++;
	}
	this.rules = new makeArray(n);
	n = 0;
	while (rules.indexOf(",") != -1) {
	var tmpstr = rules.substring(0, rules.indexOf(","));
	this.rules[n] = tmpstr;
	rules = rules.substring(rules.indexOf(",") + 1, rules.length);
	n++;
	}
	this.rules[n] = rules;
	return this;
}

