var currentDisplay = 'q0';
var currentStep =  1;
var basedSearchBy = 'town';
var typeOfLoan = '';
var cdfis = new Array();
var helpTexts = {
		"help-personal":
				"<strong>What is personal use?</strong><br />" +
				"Finance for personal use is money that will be used for household goods, home improvements, family emergencies or other personal needs.",
		"help-business":
				"<strong>What is business use?</strong><br />" +
				"Finance for business use is money that will be used to help you to start up or grow your business, or to keep trading.",
		"help-social":
				"<strong>What is a social enterprise or charity?</strong><br />" +
				"Social enterprises are businesses trading for social and environmental purposes.",
		"help-micro":"<strong>Micro Business</strong><br />Less than 10 employees",	
		"help-small":"<strong>Small Business</strong><br />10-49 employees",	
		"help-medium":"<strong>Medium Business</strong><br />50-249 employees"	
};
var loanTypesArr = {"personal":"Personal","business":"Business","social":"Social enterprise"};	
	
jQuery(function($){	
	
	if(isdefined('typeOfLoanSelected')){
		typeOfLoan = typeOfLoanSelected;			
		getCDFIS(typeOfLoan);
		jQuery('#wsm-1').html(jQuery('#q0-title').val());
		$('#q0').css('display','none');
		if( cdfis.length > 0 ){	
			 displayStep('q1');
			 currentStep = 2;	
		}
		else{
			displayStep('cdfi-no-results');
			setSidebarAndFooter();
		}
	}
	else{
		displayStep('q0');		
	}
	setWizardStepsMap();
	
	$('.next-question').click(function() {		
		var ids = $(this).attr('id').split('_'); 
		$('.answ-errors').html('');
		$('#cdfi-results-box').html('');		
		switch( ids[1] ){
		case '0':
			if( $('#type-of-loan-business').attr('checked') ||
				$('#type-of-loan-personal').attr('checked') ||
				$('#type-of-loan-social').attr('checked') ){
				typeOfLoan = $("input[name='type-of-loan-answ']:checked").val();			
				getCDFIS(typeOfLoan);
				$('#q0').css('display','none');
				if( cdfis.length > 0 ){	
					 displayStep('q1');
					 currentStep = 2;
					 
					 //set nationa lCdfis
					var newNationalCdfis = new Array(); var cnt = 0;
					jQuery.each( nationalCdfis, function(index, item){	
						if(	item['type_of_loan'].toLowerCase().indexOf(typeOfLoan) != -1 ){
							newNationalCdfis[cnt] = item; 
							cnt++;
						}
					});	
					nationalCdfis = newNationalCdfis;	
				}
				else{
					displayStep('cdfi-no-results');
					setSidebarAndFooter();
				}
			}
			else
				$('.answ-errors').html('Please Select!');
			break;
		case '1':
			var based = '';			
			var based = $('#based-answ-'+basedSearchBy).val() ;
			if( based !='' ){
				$('#q1').css('display','none');
				var newCdfis = new Array();
				var founded = false;
				var cnt = 0;
				jQuery.each( cdfis, function(index, item){					
					if(item[basedSearchBy]!='' && item[basedSearchBy].toLowerCase().indexOf(based.toLowerCase()) != -1 ){
						founded = true;
						newCdfis[cnt] = item; 
						cnt++;
					}
				});	
				cdfis = newCdfis;
				if(founded){					
					if( typeOfLoan == 'business' || typeOfLoan == 'social' )
						displayStep('q2');					
					if( typeOfLoan == 'personal' )
						displayStep('q3');	
					currentStep = 3;
				}
				else{
					displayStep('cdfi-no-results');	
					setSidebarAndFooter();
				}
			}
			else
				$('.answ-errors').html('Please fill "'+basedSearchBy+'" filed!');
			break;
		case '2':
			
			if( $('#business-type-answ-micro').attr('checked') ||
				$('#business-type-answ-small').attr('checked') ||
				$('#business-type-answ-medium').attr('checked') ){
				var businessType = $("input[name='business-type-answ']:checked").val();				
				$('#q2').css('display','none');				
				var newCdfis = new Array(); var cnt = 0;
				var founded = false;				
				jQuery.each( cdfis, function(index, item){
					if(item['business_type']!='' &&  item['business_type'].toLowerCase().indexOf(businessType.toLowerCase()) != -1 ){
						founded = true;
						newCdfis[cnt] = item; 
						cnt++;
					}
				});
				cdfis = newCdfis;			
				if(founded){	
					displayStep('q4');
					currentStep = 4;
				}
				else{
					displayStep('cdfi-no-results');	
					setSidebarAndFooter();
				}
			}
			else
				$('.answ-errors').html('Please Select!');
			break;
		case '3':
			if( $('#home-improvements-yes-answ').attr('checked') || $('#home-improvements-no-answ').attr('checked') ){
				var homeImprovements = $("input[name='home-improvements-answ']:checked").val();				
				$('#q3').css('display','none');
				var newCdfis = new Array(); var cnt = 0;
				var founded = false;	
				jQuery.each( cdfis, function(index, item){	
					if(item['home_improvements']!='' && item['home_improvements'].toLowerCase().indexOf(homeImprovements.toLowerCase()) != -1 ){
						founded = true;	
						newCdfis[cnt] = item; 
						cnt++;
					}
				});	
				cdfis = newCdfis;				
				if(founded){
					displayStep('q4');
					currentStep = 4;
				}
				else{
					displayStep('cdfi-no-results');	
					setSidebarAndFooter();
				}
			}
			else
				$('.answ-errors').html('Please Select!');
			break;
		
		case '4':
			if( $('#come-from-yes-answ').attr('checked') || $('#come-from-no-answ').attr('checked') ){
				var comeFrom = $("input[name='come-from-answ']:checked").val();
				$('#q4').css('display','none');				
				$('#cdfi-results-box').html(cdfiResultsHtml());				
				displayStep('cdfi-results');
				$('.scroll-pane').jScrollPane({showArrows:true, arrowSize:18, scrollbarWidth:15});
				currentStep = 5;
				updateComeFrom(comeFrom);
			}
			else
				$('.answ-errors').html('Please Select!');
			break;	
			
			
		}		
		setWizardStepsMap();
	});	
	$('.first-question').click(function() {
		hideAllSteps();;
		displayStep('q0');
		var cdfis = new Array();
	});	
	
	$('.button-help').click(function() {
		$('#help-box').html(helpTexts[$(this).attr('id')]);
		$('#help-box').css('display','block');
		var aOffset = $(this).offset();
		$('#help-box').css('top',aOffset.top-15+'px');
		$('#help-box').css('left',aOffset.left+35+'px');		
	});	
	$('#help-box').mouseout(function() {
		$('#help-box').css('display','none');
	});	
	
});

function displayStep(id){	
	jQuery('#'+id).css('display','block');
	currentDisplay = id;
	if(jQuery('#jNice-'+id).length > 0)
		jQuery('#jNice-'+id).jNice();
}

function hideAllSteps(){
	jQuery('#cdfi-no-results').css('display','none');
	jQuery('#cdfi-results').css('display','none');
	for(var i = 0; i<=3; i++)
		jQuery('#q'+i).css('display','none');		
}

function getCDFIS(typeOfLoan)
{	
	var rnd = new Date().getTime();
	jQuery.ajax({
   		type: "POST",
   		async: false,   		
   		url: wpurl+"/wp-admin/admin-ajax.php", 
   		data: "action=get_cdfi_action&typeOfLoan="+typeOfLoan+"&rndval="+rnd,
   		dataType: "json",
   		success: 
   		function(res) { cdfis = res; }
 	});
}

function cdfiResultsHtml(){ 
	var html ='<div class="v15"></div><span class="regional">Regional</span><span class="nr-results"> <em>('+cdfis.length+' results)</em></span>';
	jQuery.each( cdfis, function(index, item){
		var typeOfLoan = formatTypeOfLoan(item['type_of_loan']);
		html +='<p class="cdfi-details"><span class="cdfi-name">'+item['name']+'</span><br />';
		html +='<span class="lbl">Description </span>'+item['description']+'<br />';
		html +='<span class="lbl">Loan Type </span>'+typeOfLoan+'<br />';
		//html +='<span class="lbl">Loan size </span>'+item['loan_size']+'<br />';
		html +='<span class="lbl">Website </span><a href="'+item['link']+'" >'+item['link']+'</a><br />';
		html +='<span class="lbl">Email </span><a href="mailto:'+item['email']+'" >'+item['email']+'</a><br />';
		html +='<span class="lbl">Address </span>'+item['location']+' ';
		if(item['map_link']!= null )
			html +='(<a href="'+item['map_link']+'"> map </a>) ';
		html +='<br />';
		html +='<span class="lbl">Telephone </span>'+item['phone']+'<br />';
		html +='<span class="lbl">Fax </span>'+item['fax']+'<br />';
		html +='</p>';
	});	
	
	//National cdfis
	html +='<br class="clear" /><div class="v15"></div><span class="regional">National</span><span class="nr-results"> <em>('+nationalCdfis.length+' results)</em></span>';
	jQuery.each( nationalCdfis, function(index, item){
		var typeOfLoan = formatTypeOfLoan(item['type_of_loan']);
		html +='<p class="cdfi-details"><span class="cdfi-name">'+item['name']+'</span><br />';
		html +='<span class="lbl">Description </span>'+item['description']+'<br />';
		html +='<span class="lbl">Loan Type </span>'+typeOfLoan+'<br />';
		//html +='<span class="lbl">Loan size </span>'+item['loan_size']+'<br />';
		html +='<span class="lbl">Website </span><a href="'+item['link']+'" >'+item['link']+'</a><br />';
		html +='<span class="lbl">Email </span><a href="mailto:'+item['email']+'" >'+item['email']+'</a><br />';
		html +='<span class="lbl">Address </span>'+item['location']+' ';
		if(item['map_link']!= null )
			html +='(<a href="'+item['map_link']+'"> map </a>) ';
		html +='<br />';
		html +='<span class="lbl">Telephone </span>'+item['phone']+'<br />';
		html +='<span class="lbl">Fax </span>'+item['fax']+'<br />';
		html +='</p>';
	});	
	jQuery("#cdfis-all-link").css('display','block');
	return html;
}

function updateComeFrom( comeFrom )
{	
	var rnd = new Date().getTime();
	jQuery.ajax({
   		type: "POST",
   		async: false,   		
   		url: wpurl+"/wp-admin/admin-ajax.php", 
   		data: "action=update_come_from_action&answer="+comeFrom+"&rndval="+rnd,
   		dataType: "json",
   		success: 
   		function(res) { }
 	});
}

function setWizardStepsMap(){
	var totalSteps = 5;
		
	setClass(jQuery('#wsm-'+currentStep),"wsm-current");
	if(currentStep < 5)
		jQuery('#wsm-'+currentStep).html(jQuery('#'+currentDisplay+'-title').val());
	else 
		jQuery('#wsm-'+currentStep).html('Results');
	jQuery('#'+currentDisplay+'-q-number').html(currentStep+". ");
	
	if(currentStep > 1)
		for(var i = 1; i<=currentStep-1; i++ ){
			setClass(jQuery('#wsm-'+i),"wsm-completed");
			setClass(jQuery('#wsm-'+i),"wsm-completed");
		}
	
	if(currentStep < totalSteps )
		for(var i = currentStep+1; i<=totalSteps; i++ )
			setClass(jQuery('#wsm-'+i),"wsm-uncompleted");
	
	//set images between steps
	if( currentStep > 1)
		setClass(jQuery('#wsb-'+(currentStep-1)+'-'+currentStep),"wsb-co-cu");
	if( currentStep > 2){
		for(var i = 1; i<=currentStep-2; i++ )
			setClass(jQuery('#wsb-'+i+'-'+(i+1)),"wsb-co-co");
	}
	setClass(jQuery('#wsb-'+currentStep+'-'+(currentStep+1)),"wsb-cu-un");
	for(var i = currentStep+1; i<totalSteps; i++ )
		setClass(jQuery('#wsb-'+i+'-'+(i+1)),"wsb-un-un");
	if(currentStep == totalSteps){
		jQuery('#wsb-end').css("display","block");
		jQuery('#wsb-last').css("display","none");
	}
}

function formatTypeOfLoan(tofl){
	var arr = tofl.split(',');
	for( var i=0; i<arr.length; i++)
		arr[i] = loanTypesArr[arr[i]];
	return arr.join(', ');
}

function setClass(elem,className){
	elem.attr("class",className) ;
}

function isdefined( variable)
{
    return (typeof(window[variable]) == "undefined")?  false: true;
}

function populateSelect(elId, items) {
	el = document.getElementById(elId);
    el.options.length = 0;
    jQuery.each( items, function(index, item){
    	el.options[el.options.length] = new Option(item, item);
	});	
    jQuery('#jNice-'+currentDisplay).jNice();
}


