nSubType_Free=4;	
nSubType_HT=8;	
nSubType_P_Basic=13;	
nSubType_G_Basic=13.42;	
nSubType_P_Standard=517;	
nSubType_G_Standard=517.66822;	
nSubType_G_StandardTrial=32773.268517382;	
nSubType_P_Plus=262149;	
nSubType_G_Plus=262149.17180524550;	

function control(nPlan) {
	nPlan=parseInt(nPlan);
//lert('Start ' + nPlan)
	nPlan=(nPlan/2)*(nPlan/2);
	nPlan=parseInt(nPlan+.5);
	//alert('nPlan ' +nPlan);
	sPlan = new String(nPlan);
	//alert('Test for 0 ' + sPlan)
	//alert(sPlan.substring(sPlan.length-1,sPlan.length));
	if (sPlan.substring(sPlan.length-1,sPlan.length)=="0") {
		do {
			sPlan=sPlan.substring(0,sPlan.length-1);}
		while (sPlan.substring(sPlan.length-1,sPlan.length)=="0");
		//alert('afterwhile2 ' + sPlan)
		return parseInt(sPlan);
	} else {
		return nPlan;
	}
}	

function gold(nType) {
	sType=new String(nType);
	sType=sType.split('.');
//	alert("doing gold "+nType)
//	alert("doing gold "+sType)

	if (sType.length==1) {
		return false;
	} else {
//alert("control "+control(sType[0]));
		if (sType[sType.length-1]==control(sType[0])) {
			return true;
		} else {
			return false;
		}
	}
}

function plan(sPlan,sLibrary) {
	switch (sPlan){
		case "HT" : 
			return nSubType_HT;
			break;		
		case "Free" : 
			return nSubType_Free;
			break;		
		case "Trial" : 
			return nSubType_G_StandardTrial;
			break;		
		case "Basic" : 
			if (sLibrary=="ALL") {
				return nSubType_G_Basic;
			} else {
				return nSubType_P_Basic;
			}
			break;		
		case "Standard" : 
			if (sLibrary=="ALL") {
				return nSubType_G_Standard;
			} else {
				return nSubType_P_Standard;
			}
			break;		
		case "Plus" : 
			if (sLibrary=="ALL") {
				return nSubType_G_Plus;
			} else {
				return nSubType_P_Plus;
			}
			break;		
	}
}

function getPlan(nSubscriptionType, nControl) {
	if (nControl != control(nSubscriptionType)) {
		return 0;
	} else {
		return nSubscriptionType;
	}
}

