$(document).ready(function()
{
	init();
});

function init(){
		$("ul.accordion").accordion({
		active: ".selected",
		autoHeight: false,
		header: ".opener",
		collapsible: true,
		event: "click"
	});
	$("div.slide-box").each(function(id, el)
	{	
		var slider = $(el).find("div.slider");
		if(!$(el).hasClass("opened"))
		{
			$(slider).css({marginLeft: -$(slider).width() + 34});
		}
		$(el).find("a.button-opener").click(function()
		{
			if($(el).hasClass("opened"))
			{
				$(slider).animate({marginLeft: -$(slider).width() + 34});
			}
			else
				$(slider).animate({marginLeft: 0});
			$(el).toggleClass("opened");
			return false;
		});
	});
	
	$("div.expand").each(function(id, el)
	{	
		var slider = $(el).find("div.expander");		
		$(el).find("a.content-expander").click(function()
		{
			$("div.expand").each(function(id1, el1)
			{	
				if(el.innerHTML != el1.innerHTML)
				{		
					var s = $(el1).find("div.expander");		
					$(s).hide("normal");
					var title1 = $(el1).find('.content-expander');
					$(title1).removeClass('content-active');
					$(title1).addClass('content-default');
				}
			});			
			$(slider).slideToggle("normal");
			
			var link = $(el).find("a.content-expander");
			var linkHTML = $(link).html();
			if(linkHTML == 'Read More' || linkHTML == 'Hide')
			{
				if(linkHTML == 'Read More')
				{
					$(link).html('Hide');
				} else
				{
					$(link).html('Read More');
				}			
			}			
			var title = $(el).find('.content-expander');
			if(!$(title).hasClass('readmore'))
			{
				$(title).toggleClass('content-default');
				$(title).toggleClass('content-active');
			}
			return false;
		});
	});
}

function toggleContent(id)
{
	var slider = $(document).find("#expand"+id);
	$(slider).slideToggle("normal");
	
	var title = $(document).find("#expandtitle"+id);
	$(title).toggleClass('content-default');
	$(title).toggleClass('content-active');
	
	return false;
}

function toggleForm(id, hide)
{	
	var section = $(document).find("#"+id);
	if(hide == 'hide')
	{
		$(section).hide("normal");
	} else
	{
		$(section).slideToggle("normal");
	}
}

/* code to check for onload so we can make the 
latest news and expert boxes slide out on it's own */
function checkLoad()
{
	setTimeout("doAnimate('.news-holder', '.news-inner')", 500);
	setTimeout("doAnimate('.q-holder', '.q-inner')", 700);	
	return true;
}
function doAnimate(div1, div2)
{
	var el = $(document).find(div1);
	var slider = $(el).find(div2);
	$(slider).animate({marginLeft: 0});
	$(el).toggleClass("opened");
}

/* JS For the our team page */
function teamOverlay()
{
	$("div.hover-main").each(function(id, el)
	{
		var mainBox = $(el).find("div.hover");
		$(mainBox).css({"visibility" : "hidden"});
	});
}
function showOverlay(id)
{
	var el = document.getElementById(id + '_overlay');
	var visible = el.style.visibility;
	if(visible == 'hidden')
	{
		el.style.visibility = "visible";
	}
}
function hideOverlay(id)
{
	var el = document.getElementById(id + '_overlay');
	var visible = el.style.visibility;
	if(visible == 'visible')
	{
		el.style.visibility = "hidden";
	}
}

/* Price changing for course booking */
function number_format(number, decimals, dec_point, thousands_sep) {
    // Formats a number with grouped thousands
    //
    // version: 906.1806
    // discuss at: http://phpjs.org/functions/number_format
    var n = number, prec = decimals;

    var toFixedFix = function (n,prec) {
        var k = Math.pow(10,prec);
        return (Math.round(n*k)/k).toString();
    };

    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;

    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;

    var abs = toFixedFix(Math.abs(n), prec);
    var _, i;

    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;

        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }

    var decPos = s.indexOf(dec);
    if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
        s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
    }
    else if (prec >= 1 && decPos === -1) {
        s += dec+new Array(prec).join(0)+'0';
    }
    return s;
}
function changePrice(fee)
{
	var places = document.getElementById('cplaces');
	var price = number_format((places.value * fee), 2, '.', ',');
	var display = document.getElementById('cfee');
	display.innerHTML = "&pound;" + price;
	return;
}
function str_replace (search, replace, subject, count) {
    var i = 0, j = 0, temp = '', repl = '', sl = 0, fl = 0,
            f = [].concat(search),
            r = [].concat(replace),
            s = subject,
            ra = r instanceof Array, sa = s instanceof Array;
    s = [].concat(s);
    if (count) {
        this.window[count] = 0;
    }

    for (i=0, sl=s.length; i < sl; i++) {
        if (s[i] === '') {
            continue;
        }
        for (j=0, fl=f.length; j < fl; j++) {
            temp = s[i]+'';
            repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0];
            s[i] = (temp).split(f[j]).join(repl);
            if (count && s[i] !== temp) {
                this.window[count] += (temp.length-s[i].length)/f[j].length;}
        }
    }
    return sa ? s : s[0];
}

function addCandidate()
{
	// get the tpl for the 3 inputs
	var tplEl = document.getElementById("candidatefields");
	var section = tplEl.innerHTML;
	// get the location to put them in
	var put = document.getElementById("candidateextra");
	// create new section for content
	var newSec = document.createElement('div');
	var idInput = document.getElementById("cfID");
	var idInc = idInput.innerHTML;
	newSec.setAttribute("id", "section"+idInc);
	section = str_replace("DeleteLink", "<a href='javascript:deleteSection("+idInc+")' class='delSecLink'>Delete This Section</a>", section);
	section = str_replace("ID", idInc, section);
	newSec.innerHTML = section;
	
	// add it
	put.appendChild(newSec);

	// increment the id number and re assign to hidden field
	idInc = idInc * 1;
	idInput.innerHTML = idInc + 1;
	
	return false;
}
function deleteCandidate(id)
{
		var section = document.getElementById('section'+id);
		section.style.display="none";
		var delList = document.getElementById("deletelist");
		var delListValue = delList.value;
		delList.value = delListValue+","+id;
		
		// fill the fields so it will pass jquery validation
		document.getElementById('frm_first'+id).value="first name";
		document.getElementById('frm_last'+id).value="last name";
		document.getElementById('frm_email'+id).value="email@example.com";
		document.getElementById('frm_mainphone'+id).value="123456";
		document.getElementById('frm_extraphone'+id).value="123456";
		document.getElementById('frm_address1'+id).value="address1";
		document.getElementById('frm_address2'+id).value="address2";
		document.getElementById('frm_address2'+id).value="address2";
		document.getElementById('frm_town'+id).value="town";
		document.getElementById('frm_pcode'+id).value="post code";
		document.getElementById('frm_dob'+id).value="dd/mm/yyyy";
		
		return false;
}
function askExpert(id)
{
	$('#answer'+id).slideToggle('normal');
	$('#question'+id).toggleClass('ate_default');
	$('#question'+id).toggleClass('ate_active');
	
	return false;
}
