/********************************************************************/
// 
/********************************************************************/
grabMembership = function(pId, pOpt, pOptId){
	var f = document.packageForm;
	
	if (f) {
		f.package_payment.value = pId + "|" + pOpt + "|" + pOptId;
		f.task.value = 'upgrade';
		f.submit();
	}
}


/********************************************************************/
// 
/********************************************************************/
textCounter = function (fieldId, fieldCountId, maxLimit) {
	var fs = $(fieldId);
	var fc = $(fieldCountId);
	
	if (fs.value.length > maxLimit) {
		fs.value = fs.value.substring(0, maxLimit);
	} else {
		fc.value = maxLimit - fs.value.length;
	}
}


/********************************************************************/
// 
/********************************************************************/
var objMemberCountry=null, objMemberRegion=null, objMemberRegionHidden=null;

checkRegion = function( objRef ){
	
	objMemberRegion.disabled = true;
	
	objMemberRegion.options.length = 0;
	objMemberRegion.options[0] = new Option( '- - select a country - -', '0' );
	
	if( objRef.value==0 ){
		return false;
	}
	
	// alert( objRef.value );
					
	var action	= '/ajax.php';
	var options	= {
			method		: 'get', 
			parameters	: "action=member&task=region-list&output=json&cid=" + objRef.value,
			onFailure	: function(){alert('There was a problem with the request')},
			onLoading	: function(){
					objMemberRegion.options[0] = new Option( 'loading ...', '0' );
					
					document.body.style.cursor = 'wait';
					objRef.disabled = true;
				},
			onSuccess	: function( response ){
				// alert( response.responseText );
				
				if( !response.responseText ){
					onEmptyRegion();
					return false;
				}
				
				var result = response.responseText.evalJSON();				
				if( result.data.length==0 ){
					onEmptyRegion();					
					return false;
				}
				
				document.body.style.cursor = 'default';
				objRef.disabled = false;
				
				objMemberRegion.options[0] = new Option( '- - select a region - -', '0' );
				for(var i=0; i<result.data.length; i++)
				{
					objMemberRegion.options[i+1] = new Option( result.data[i].region_name, result.data[i].region_id );
					if( result.data[i].region_id==objMemberRegionHidden.value ){
						objMemberRegion.options[i+1].selected = true;
					}
				}
				
				objMemberRegion.disabled = false;
				objMemberRegion.focus();
				return true;
			}
		};
		
	new Ajax.Request( action, options );
	return true;	
}
onEmptyRegion = function(){
	objMemberRegion.options[0] = new Option( '- - empty - -', '0' );
	setTimeout(function(){
			objMemberRegion.options[0] = new Option( '- - no region - -', '0' );
			
			document.body.style.cursor = 'default';
			objMemberCountry.disabled = false;
		}, 1000);
}

Event.observe( window, "load", function(e){
	if( !$('member-country') ){
		return false;
	}
	
	objMemberCountry		= $('member-country');
	objMemberRegion			= $('member-region');
	objMemberRegionHidden	= $('member-region-hidden');
	
	Event.observe(
			objMemberCountry, 
			"change", 
			function(){checkRegion( this )}
		);
	
	Event.observe(
			objMemberRegion, 
			"change", 
			function(){
					objMemberRegionHidden.value = this.value;
				}
		);
	
	if( this.value!=0 ){
		checkRegion( objMemberCountry );
	}
});



/********************************************************************/
// 
/********************************************************************/
getPackageId = function(){
	var retVal = getPackagePaymentValue();
	return retVal[0];
}
getPaymentOption = function(){
	var retVal = getPackagePaymentValue();
	return retVal[1];
}
getProductId = function(){
	var retVal = getPackagePaymentValue();
	return retVal[2];
}
getPackagePaymentValue = function(){
	var retVal	= '0|0|0';
	var obj		= document.siteForm.package_payment;	
	
	if( obj ){
		if( obj.length==undefined ){
			if(obj.checked){
				retVal  = obj.value;
			}
		} else {
			
			for(var i=0; i<obj.length; i++){
				if(obj[i].checked){
					retVal = obj[i].value;
					break;
				}
			}
		}
	}
	
	return retVal.split( '|' );;
}
checkoutMembership = function( task ){
	
	var frSite		= document.siteForm;
	var frCheckout	= document.checkoutForm;
	
	frSite.task.value = task;
	
	switch( task )
	{
		case "skip":
		case "back":
		
			frSite.submit();
		
		break;
		
		case "store":
			
			var pId = getPackageId();
			var pOt = getPaymentOption();
			var cId = getProductId();
			
			// alert( pId + ' <=> ' + pOt + ' <=> ' + cId );
			
			if( (pId!=0) && (pOt!=0) && (cId!=0) ){
				frCheckout.member_id.value				= frSite.mid.value;
				frCheckout.package_id.value				= pId;
				frCheckout.product_id.value				= cId;
				frCheckout.range_payment_option.value	= pOt;
				
				frCheckout.submit();
			} else {
				frSite.submit();
			}
			
		break;
	}
}

Event.observe( window, "load", function(e){
	if( !$('form-membership') ){
		return false;
	}
	
	if( $('button-back') ) Event.observe( "button-back" , "click", function(){this.disabled=true;checkoutMembership("back")});
	if( $('button-skip') ) Event.observe( "button-skip" , "click", function(){this.disabled=true;checkoutMembership("skip")});
	Event.observe( "button-store" , "click", function(){this.disabled=true;checkoutMembership("store")});
});


/********************************************************************/
// 
/********************************************************************/
document.bannerDialog	= null;
document.bannerForm		= null;
openBannerDialog = function( memberId ){
	
	var html = '<iframe'
					+ ' src="/index.php?tplname=dialog&action=member&option=bannerenquiry&mid=' + memberId + '"'
					+ ' style="width:100%;height:100%;background-color:transparent;"'
					+ ' scrolling="auto"'
					+ ' frameborder="0"'
					+ ' allowtransparency="true"'
					+ ' id="dialog-frame"'
					+ ' name="dialog-frame"'
					+ ' width="100%"'
					+ ' height="100%"'
					+ ' onload=""'
				+ ' ></iframe>';
	
	document.bannerDialog = new Ext.Window({
			layout	: 'fit',
			width	: 680,
			height	: 480,
			closeAction	:'close',
			plain	: true, 
			resizable	: false,
			modal	: true,
			title	: 'Banner Enquiry',
			html	: html,
			buttons: [
					{text: 'Send', handler: function(){
							if( document.bannerForm ){
								document.bannerForm.submit();
							}
						}},
					{text: 'Close', handler: function(){
							document.bannerDialog.close();
						}}
				]
		});
	
	document.bannerDialog.show();
	document.bannerDialog.center();
}
Event.observe( window, "load", function(e){
		if( !$('form-banner') ){
			return false;
		}
		
		parent.document.bannerForm = document.siteForm;
	});

/********************************************************************/
// 
/********************************************************************/
document.sampleDialog = null;
openSampleDialog = function( sampleName ){
	var ttl	= '';
	switch( sampleName ){
		case 'gold':	ttl = 'Gold Member Sample';		break;
		case 'silver':	ttl = 'Silver Member Sample';	break;
		case 'bronze':	ttl = 'Bronze Member Sample';	break;
	}
	
	var src = '/example.php?type=' + sampleName;
	
	var html = '<iframe'
					+ ' src="' + src + '"'
					+ ' style="width:100%;height:100%;background-color:transparent;"'
					+ ' scrolling="auto"'
					+ ' frameborder="0"'
					+ ' allowtransparency="true"'
					+ ' id="popup-frame"'
					+ ' name="popup-frame"'
					+ ' width="100%"'
					+ ' height="100%"'
					+ ' onload=""'
				+ ' ></iframe>';
	
	document.sampleDialog = new Ext.Window({
			layout	: 'fit',
			el		: '',
			width	: 300,
			height	: 100,
			closeAction	:'close',
			plain	: true, 
			resizable	: false,
			modal	: true,
			title	: ttl,
			html	: html,
			buttons	: [{text: 'Close', handler: function(){document.sampleDialog.close();}}]
		});
	
	document.sampleDialog.show();
	document.sampleDialog.center();
}