//////////// AJAX - START //////////////////
var isDOM = (document.getElementById ? true : false);
var isIE4 = ((document.all && !isDOM) ? true : false);
var isNS4 = (document.layers ? true : false);
var isDyn = (isDOM || isIE4 || isNS4);

var xmlHttp; 
function GetXmlHttpObject()
{
	xmlHttp=null;
  	try
    {
    	// Firefox, Opera 8.0+, Safari
    	xmlHttp=new XMLHttpRequest();
    }
  	catch (e)
    {
    	// Internet Explorer
    	try
      	{
      		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      	}
    	catch (e)
      	{
      		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      	}
    }
  	return xmlHttp;
}
function stateChanged(placeholder) 
{ 
	if(xmlHttp.readyState==4 && placeholder!="")
	{ 
		switch(document.getElementById(placeholder).nodeName)
		{
			case "input" || "INPUT": 
				document.getElementById(placeholder).value=xmlHttp.responseText;
				break;
			case "textarea" || "TEXTAREA": 
				document.getElementById(placeholder).value=xmlHttp.responseText;
				break;
			case "select" || "SELECT": 
				document.getElementById(placeholder).value=xmlHttp.responseText;
				break;
			default : 
				var objDiv = getRef(placeholder);
				//alert(xmlHttp.responseText);
				objDiv.innerHTML=xmlHttp.responseText;
				objDiv.scrollTop = objDiv.scrollHeight;
				break;
		}
	}
}
function getRef(id)
{
 	if (isDOM) return document.getElementById(id);
 	if (isIE4) return document.all[id];
 	if (isNS4) return document.layers[id];
}
function getFieldRef(id)
{
	if(document.getElementById[id]!=null)return document.getElementById[id];
	if(document.all[id]!=null)return document.all[id];
}
function ajaxfnc(objectid,pagename,fnc,extra_val,placeholder)
{	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
  	{
  		alert ("Your browser does not support AJAX!");
  		return;
  	} 
	var url=pagename;
	url=url + "?prth_act_" + objectid + "=callajax";
	url=url + "&prth_obj_id_" + objectid + "=" + objectid;
	url=url+"&fnc="+fnc;	
	if(extra_val!="")url=url + FetchFieldValueList(extra_val);	
	xmlHttp.onreadystatechange = function ()
	{
		if (xmlHttp.readyState == 4) stateChanged(placeholder);
	}
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);	
	//alert(url);
}

function FetchFieldValueList(FieldList)
{
	var rtnStr="";
	var FieldList_Array=FieldList.split(",");
	var field_num=0;
	for(field_num=0;field_num < FieldList_Array.length;field_num++)
	{
		var objFld=getFieldRef(FieldList_Array[field_num]);
		var fldtype;
		var isArray=false;
		try
		{
			fldtype=objFld[0].type;
			isArray=true;
		}
		catch(e)
		{
			fldtype=objFld.type;
		}		
		if(isArray)
		{
	        for(i=0;i<objFld.length;i++)
			{
				if(fldtype=="radio" || fldtype=="checkbox")
				{
					if(objFld[i].checked==true)
					{
					     rtnStr = rtnStr + "&" + FieldList_Array[field_num] + "=" + objFld[i].value;
					     break;
					}
				}
			}
		}
		else rtnStr = rtnStr + "&" + FieldList_Array[field_num] + "=" + objFld.value;
	}
	//alert(rtnStr);
	return rtnStr;	
}
function ajaxAutoCall(objectid,pagename,fnc,extra_val,placeholder,milliseconds)
{
	ajaxfnc(objectid,pagename,fnc,extra_val,placeholder);
	setTimeout("ajaxAutoCall('" + objectid + "','" + pagename + "','" + fnc + "','" + extra_val + "','" + placeholder + "','" + milliseconds + "')", milliseconds);
	//setTimeout("ajaxAutoCall('" + objectid + "','" + pagename + "','" + fnc + "','" + extra_val + "','" + placeholder + "','" + milliseconds + "')", 30000);
}

//////////// AJAX - END //////////////////
function prth_system_fnc_nevigation(objid,frmname,act,orderby,cpage,systemextra)
{
  	var objfrm=eval("document." + frmname);
	
	objfrm.elements["prth_act_"+objid].value=act;
 
	objfrm.elements["prth_orderby_"+objid].value=orderby;
	
	objfrm.elements["prth_cpage_"+objid].value=cpage;
	
	if(systemextra)
		objfrm.elements["prth_system_extra_"+objid].value=systemextra;
	
	objfrm.submit();
}
function delete_confirm(msg)
{
	delmsg="this record";
	if(msg)
		if(msg!="")	delmsg=msg;
	
	if(confirm("Are you sure you want to delete "+delmsg+" ?"))
	{
		return true;
	}
	return false;
}

//Blank field validation
function NotBlank(obj,cap)
{
	
	if(obj.value=="")
	{
		alert(cap + " is mandatory");
		obj.focus();
		return false;
	}
	return true;
}
function IsNumeric(obj,cap)
{
	var tempstr;
	tempstr = obj.value;
	var nreg= /[^0-9]/g;
	nresult = tempstr.match(nreg);
	if(obj.value!="")
	{
	    if(nresult != null)
	    {
		    alert("Please Enter Valid " + cap);
		    obj.focus();
		    return false;
	    }
	}
	return true;
}

function IsDecimal(obj,cap)
{
	if(obj.value!="")
	{
	    if(isNaN(obj.value))
	    {
		    alert("Please Enter Valid " + cap);
		    obj.focus();
		    return false;
	    }
	 }
	return true;
}

function blank(obj)
{
	if(obj.value=="")
	{
		alert("All fields are mandatory");
		obj.focus();
		return false;
	}
	return true;
}
function NotBlank_IsNumeric(obj,cap)
{
	if(!NotBlank(obj,cap))  return false;
    if(!IsNumeric(obj,cap))  return false;
    return true;
}
function IsInteger(obj,cap)
{
	var tempstr;
	tempstr = obj.value;
	var nreg= /[^0-9]/g;
	nresult = tempstr.match(nreg);
	if(nresult != null)
	{
		alert("Please Enter Valid " + cap);
		obj.focus();
		return false;
	}
	return true;
}
function check_blankval(obj)
{
	if(obj.value=="")
	{
		alert("All fields are mandatory");
		obj.focus();
		return false;
	}
	return true;
}
//Compare Two values which is greater
function comparetwovalues(obj1,obj2)
{
	if(parseInt(obj1.value)>parseInt(obj2.value))
	{
		alert("Between textbox value is not greater To textbox value");
		obj2.focus();
		return false;
	}
	return true;
}
//Number and decimal only enter
function checknum_decimal(obj)
{
	key=window.event.keyCode;
	if((key < 48 || key > 57) && key!=46)
	{
		alert("Enter only Number and Decimal Point");
		return false;
		obj.focus();
	}		
}
function check_radioval(obj1,obj2)
{
	if(!obj1.checked && !obj2.checked)
	{
		alert("Fields with * are mandatory");
		obj1.focus();
		return false;
	}
	return true;
}
function check_checkboxval(obj,cap)
{
	if(!obj.checked)
	{
		alert("You must be agree with Terms and Conditions");
		obj.focus();
		return false;
	}
	return true;
}
function check_emailval(obj,cap)
{
	var em=obj.value;
	if(obj.value=="")
	{
		alert(cap+" is mandatory");
		obj.focus();
		return false;
	}
	var str = obj.value;
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;    
    if (!str.match(re))
	{
        alert("Enter Valid E-mail Address");
		obj.focus();
        return false;
    }
	return true;
}
function check_confirm_password(mobj,cobj)
{
	if(mobj.value!=cobj.value)
	{
		alert("Your Password does not match with the Confirm Password")
		mobj.value="";
		cobj.value="";
		mobj.focus();
		return false;
	}
	return true;
}
function check_length(obj,leng)
{
    var objlen=obj.value.length
	if( objlen < leng )
	{
		alert("Length must be less than limited characters");
		obj.focus();
		return false;
	}
	return true;
}
//Used for checking valid amount >0
function validamount_nozero(obj,msg)
{
	if(obj.value == "" || isNaN(obj.value))
	{
		alert("Please enter valid "+msg)
		obj.value="0.00"
		obj.focus()
		return false;
	}
	else if(obj.value <=0)
	{
	 	alert("Please enter amount greater then 0")
		obj.value="0.00"
		obj.focus()
		return false;
	}
		return true;
}   
function sendselected(actflag,selval)
{
	location.replace("?prth_act=" + actflag + "&prth_rowid=" + selval);
}
function OpenToEdit(objid,objfrm,selval,act_val)
{
	objfrm.elements["prth_act_"+objid].value=act_val;
	objfrm.elements["prth_system_extra_"+objid].value=selval;
	objfrm.submit();
}
function FetchOnChange(objid,objfrm,fldname,act_val)
{
	objfrm.elements["prth_act_"+objid].value=act_val;	
	objfrm.submit();
}
function open_dialogbox(path,width,height,resize,scroll,status,samewindow)
{	
	var w = 480, h = 340;
	
	if(!width)
		width="700";
	if(!height)
		height="500";
	if(!resize)
		resize="no";
	if(!scroll)
		scroll="no";
	if(!samewindow)
		samewindow="objwnd";
	if(!status)
		status="no";
	
		
	if (document.all || document.layers)
	{
		w = screen.availWidth;
		h = screen.availHeight;
	}
	var topPos = (h-height)/2, leftPos = (w-width)/2;
	objwnd=window.open(path,samewindow,"munubar=no,titlebar=no,status="+status+",resizable="+resize+",scrollbars="+scroll+",width="+(width)+",height="+(height)+",left="+ leftPos +",top="+ topPos +",screenX="+ leftPos +",screenY="+ topPos);	
	objwnd.focus();
}
function SetAction(objid,frmname,act,userid)
{
    var objFrm=eval("document."+frmname);
    objFrm.elements["prth_act_"+objid].value=act;
    objFrm.elements["prth_system_extra_"+objid].value=userid;
    objFrm.submit();
}
function checkall_click(frm,mainchkboxname,chkboxname)
{
    //alert(frm.elements[chkboxname])
	if(frm.elements[chkboxname])
	{	
		if(frm.elements[chkboxname].length)
		{
			for(i=0;i<frm.elements[chkboxname].length;i++)
			{
				frm.elements[chkboxname][i].checked=frm.elements[mainchkboxname].checked;
			}
		}
		else
		{
			frm.elements[chkboxname].checked=frm.elements[mainchkboxname].checked;
		}
	}
}

function CheckFieldList(objfrm)
{
    var i=0;
    var sts = false;
    for(i=0;i<objfrm.field_list.length;i++)
    {
        if(objfrm.field_list[i].checked)
        {
            sts = true;
        }
    }
    if(!sts)
    {
        alert('Please select at least one field.');
        return false;
    }
    return true;
}
function ValidateURL(obj,caption)
{
     if(!NotBlank(obj,caption)) return false;
     var UrlStr = obj.value.toLowerCase();
     if(UrlStr.indexOf("http://")==0)  return true;
     else  {   alert('Please enter valid URL for ' + caption); return false;    }  
}
function DeleteRecord(objid,frmname,act,orderby,cpage,editid)
{
	if(delete_confirm())
	{
	   
	    prth_system_fnc_nevigation(objid,frmname,act,orderby,cpage,editid);
	}
}
function CheckForgotPassword(objfrm)
{
    if(objfrm.user_name.value=='')
    {
        alert("Please Enter Email Address");
        return false;
    }
    objfrm.prth_act_0.value='getpassword';
    return true;
}

function ChkCvExtension(obj)
{
    var Str_Ext = obj.value.toLowerCase();
    if (Str_Ext!='')
    {
        if (Str_Ext.indexOf(".pdf")== -1 && Str_Ext.indexOf(".doc")== -1)
        {
         alert("Only .pdf and .doc extension is valid")
         return false;
        }
    }
    return true;
}
function checkimagefiletype(obj,cap)
{
    if(obj.value!="")
    {
        pos=obj.value.lastIndexOf(".");
		len=obj.value.length;
		ext=obj.value.substring(pos+1,len).toLowerCase();
		if(ext!="bmp" && ext!="gif" && ext!="jpg" && ext!="jpeg" && ext!="jpe")
		{
			alert("The selected file is not supported. \n\n Only Photos can be uploaded");
			return false;
		}
    }
    return true;
}
function check_coupon(objfrm)
{
    if(!CheckPlan(objfrm))  return false;
    if(objfrm.discount_coupon.value=='')
    {
        alert("Please Enter discount coupon to verify");
        return false;
    }
    objfrm.prth_act_0.value='verify_coupan';
    objfrm.submit();
}
function CheckPlan(objfrm)
{
    if(objfrm.planid.length)
    {
        if(objfrm.planid.length>1)
        {
            var bool=false;
            for(i=0;i<objfrm.planid.length;i++)
		    {
			    if(objfrm.planid[i].checked==true)
			    {
			         bool=true;
			         break;
			    }
		    }
		    if(!bool)
		    {
		       alert("Please select registration plan from above list.");
                return false; 
		    }
        }        
    }
    return true;
}
function frmsubmit_loginform(objFrm)
{
	if(!NotBlank(objFrm.user_name,"Email Address"))return false;
	if(!NotBlank(objFrm.password,"Password"))return false;
	return true;
}
function BookMark()
{
	window.external.AddFavorite(location.href,document.title);
}
function checklocation(frm)
{
    if(frm.region)
    {
       if(frm.location.value!=1)
        {
           frm.prth_act_0.value='changelocation';
           frm.submit();
        }
    }
    else
    {
         if(frm.location.value==1)
         {
            frm.prth_act_0.value='changelocation';
            frm.submit();
         }
    }
         
}
function setplanid(obj)
{
   document.frmprth_0.planid.value=obj.value;
}

function submitsignup(frm)
{
   //if(!checkimagefiletype(frm.picture,"Picture"))return false;
   if(!CheckIndustryCount(frm))return false;
    if(frm.user_type[0].checked==true)
    {
        if(!NotBlank(frm.company_name,"Company Name"))return false;
        if(frm.board_planid.length)
        {
            frm.planid.value=0;
            for(i=0;i<frm.board_planid.length;i++)
		    {
			    if(frm.board_planid[i].checked==true)
			    {
			         frm.planid.value=frm.board_planid[i].value;
			         break;
			    }
		    }
       }
   }
   else if (frm.user_type[1].checked==true)
   {
        if(frm.member_planid.length)
            {
                frm.planid.value=0;
                for(i=0;i<frm.member_planid.length;i++)
		        {
			        if(frm.member_planid[i].checked==true)
			        {
			             frm.planid.value=frm.member_planid[i].value;
			             break;
			        }
		        }
           }
   }
     
  //alert(frm.planid.value)
  if(frm.planid.value<=0)
   {
        alert("Please choose any payment plan");
        if(frm.user_type[0].checked==true)
            frm.board_planid[0].focus();
        if(frm.user_type[1].checked==true)
            frm.member_planid[0].focus();
        return false;
   }
    frm.prth_act_0.value='save';
    return true;
}

function CheckIndustryCount(frm)
{
   var count=0;
   for(i=0;i<frm.board_industry.length;i++)
   {
        if (frm.elements["board_industry"][i].selected!="")
        {count++;}
   }
   if (count>5)
        {
            alert("You can not select more than 5 Industry");
            return false;
        }
        else
        {return true;}
   
}
function CheckDirecorIndustryCount(obj)
{
   if(!NotBlank(obj,"Type of industry experience")) return false; 
   var count=0;
   for(i=0;i<obj.length;i++)
   {
        if (obj[i].selected!="")
        {count++;}
   }
   if (count>5)
        {
            alert("You can not select more than 5 Industry");
            return false;
        }
        else
        {return true;}
   
}
function CheckFirmIndustryCount(obj)
{
   var count=0;
   for(i=0;i<obj.length;i++)
   {
        if (obj[i].selected!="")
        {count++;}
   }
   if (count>5)
        {
            alert("You can not select more than 5 Industry");
            return false;
        }
        else
        {return true;}
   
}
function ForSearchIndustryCount(obj,field_name)
{
   var count=0;
   obj.prth_act_0.value='search';
   for(i=0;i<obj.elements[field_name].length;i++)
   {
        if (obj.elements[field_name][i].selected)
        {
            if (obj.elements[field_name][i].value!="")
            {count++;}
        }
   }
    if (count>6)
    {
        alert("You can not select more than 5 Industry");
        return false;
    }
    else
    {return true;}
}

function CCExpYear(obj,cap)
{
    d= new Date();
	card_y=parseInt(obj.value);
	y=d.getFullYear();
	if(parseInt(card_y)<y)
	{
	    alert("Invalid credit card expiry date");
	    obj.focus();
	    return false;
	}
	return true;  
}
function CCExpMonth(obj,cap)
{
    d= new Date();
	card_m=parseInt(obj.value);
	m=d.getMonth();
	y=d.getFullYear();
	if(parseInt(obj.form.exp_year.value)==y) {
		if(card_m <=m)	{	
	        alert("Invalid credit card expiry date");
	        obj.focus();
			return false;
		}
	}
	return true;  
}
	
function CID_Validation(obj,cap)
{
	if(!NotBlank(obj,cap))  return false;
    if(!IsNumeric(obj,cap))  return false;
    return true;
}
function changeui(frm)
{
    var UserType=1;
    if(frm.user_type.length)
    {
       for(i=0;i<frm.user_type.length;i++)
		{
			if(frm.user_type[i].checked==true)
			{
			     UserType=frm.user_type[i].value;
			     break;
			}
		}
   }
  if(UserType==1)
  {
     DrawMemberServicePlan.style.display="none";
     DrawMemberPictureCaption.style.display="none";
     DrawBoardServicePlan.style.display="block";
     DrawBoardSignup.style.display="block";
     DrawBoardPictureCaption.style.display="block";
  }
  else
  {
    DrawBoardServicePlan.style.display="none";
    DrawBoardSignup.style.display="none";
    DrawBoardPictureCaption.style.display="none";
    DrawMemberServicePlan.style.display="block";
    DrawMemberPictureCaption.style.display="block";
  }
}

var Cards = new makeArray(8);
Cards[0] = new CardType("MasterCard", "51,52,53,54,55", "16");
var MasterCard = Cards[0];
Cards[1] = new CardType("Visa", "4", "13,16");
var Visa = Cards[1];
Cards[2] = new CardType("Amex", "34,37", "15");
var Amex = Cards[2];
Cards[3] = new CardType("DinersClubCard", "30,36,38", "14");
var DinersClubCard = Cards[3];
Cards[4] = new CardType("Discover", "6011", "16");
var Discover = 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();

/*************************************************************************\
CheckCardNumber(form)
function called when users click the "check" button.
\*************************************************************************/
function CheckCardNumber(form) {
form=document.frmprth_0;
var tmpyear;
if (form.card_number.value.length == 0) {
alert("Please enter a Card Number.");
form.card_number.focus();
return;
}
card = form.card_type.options[form.card_type.selectedIndex].value;
var retval = eval(card + ".checkCardNumber(\"" + form.card_number.value +"\");");
cardname = "";
if (retval)
return true;
// comment this out if used on an order form
//alert("This card number appears to be valid.");


else {
// The cardnumber has the valid luhn checksum, but we want to know which
// cardtype it belongs to.
for (var n = 0; n < Cards.size; n++) {
if (Cards[n].checkCardNumber(form.card_number.value)) {
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.");
      }
   }
}
/*************************************************************************\
Object CardType([String cardtype, String rules, String len, int year, 
                                        int month])
cardtype    : type of card, eg: MasterCard, Visa, etc.
rules       : rules of the cardnumber, eg: "4", "6011", "34,37".
len         : valid length of cardnumber, eg: "16,19", "13,16".
year        : year of expiry date.
month       : month of expiry date.
eg:
var VisaCard = new CardType("Visa", "4", "16");
var AmExCard = new CardType("AmEx", "34,37", "15");
\*************************************************************************/
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.setCardType(tmpcardtype);
this.setLen(tmplen);
this.setRules(tmprules);

this.checkCardNumber = checkCardNumber;  // checkCardNumber method.
this.getCardType = getCardType;  // getCardType method.
this.isCardNumber = isCardNumber;  // isCardNumber method.
this.luhnCheck = luhnCheck;// luhnCheck method.
return this;
}

/*************************************************************************\
boolean checkCardNumber([String cardnumber, int year, int month])
return true if cardnumber pass the luhncheck and the expiry date is
valid, else return false.
\*************************************************************************/
function checkCardNumber() {
var argv = checkCardNumber.arguments;
var argc = checkCardNumber.arguments.length;
var cardnumber = (argc > 0) ? argv[0] : this.cardnumber;

this.setCardNumber(cardnumber);

if (!this.isCardNumber())
return false;

return true;
}
/*************************************************************************\
String getCardType()
return the cardtype.
\*************************************************************************/
function getCardType() {
return this.cardtype;
}
/*************************************************************************\
boolean isCardNumber([String cardnumber])
return true if cardnumber pass the luhncheck and the rules, else return
false.
\*************************************************************************/
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;
}

/*************************************************************************\
boolean isNum(String argvalue)
return true if argvalue contains only numeric characters,
else return false.
\*************************************************************************/
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;
}

/*************************************************************************\
boolean luhnCheck([String CardNumber])
return true if CardNumber pass the luhn check else return false.
Reference: http://www.ling.nwu.edu/~sburke/pub/luhn_lib.pl
\*************************************************************************/
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;
}

/*************************************************************************\
ArrayObject makeArray(int size)
return the array object in the size specified.
\*************************************************************************/
function makeArray(size) {
this.size = size;
return this;
}

/*************************************************************************\
CardType setCardNumber(cardnumber)
return the CardType object.
\*************************************************************************/
function setCardNumber(cardnumber) {
this.cardnumber = cardnumber;
return this;
}

/*************************************************************************\
CardType setCardType(cardtype)
return the CardType object.
\*************************************************************************/
function setCardType(cardtype) {
this.cardtype = cardtype;
return this;
}

/*************************************************************************\
CardType setLen(len)
return the CardType object.
\*************************************************************************/
function setLen(len) {
// Create the len array.
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;
}

/*************************************************************************\
CardType setRules()
return the CardType object.
\*************************************************************************/
function setRules(rules) {
// Create the rules array.
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;
}
