var baseURL = '';

// form functions
function updateOccupation() {
  var industry = $F('industry');
	var target = 'select_occupation';
	var url = baseURL + 'scripts/update-occupation.php';
	var params = 'industry=' + industry;
	new Ajax.Updater(target, url, {parameters:params, unescape:true, asynchronous:true}); 
	return false;
}

function updateSubdivision() {
	var target = 'select_subdivision';
	var url = baseURL + 'scripts/update-subdivision.php';
	var params = 'country=' + $F('country');
	new Ajax.Updater(target, url, {parameters:params, unescape:true, asynchronous:true}); 
	return false;
}

function updateSubdivisionWithPrefix(prefix) {
	var target = 'select_' + prefix + 'subdivision';
	var url = baseURL + 'scripts/update-subdivision.php';
	var country = prefix + 'country';
	var params = 'country=' + $F(country) + '&prefix=' + prefix;
	new Ajax.Updater(target, url, {parameters:params, unescape:true, asynchronous:true}); 
	return false;
}

function toggleCurrentJobByID(id) {
	if ($('current_job_'+id).checked) {
		$('end_present_'+id).show();
		$('end_timeframe_'+id).hide();
	}
	else {
		$('end_timeframe_'+id).show();
		$('end_present_'+id).hide();
	}
}

function toggleCurrentJob() {
	if ($('current_job').checked) {
		$('end_present').show();
		$('end_timeframe').hide();
	}
	else {
		$('end_timeframe').show();
		$('end_present').hide();
	}
}

function toggleEducationType(id) {
	switch ($F('education_type'+id)) {
		case '0':
			$('dt_school_name'+id).hide();
			$('dd_school_name'+id).hide();
			$('dt_providor_name'+id).hide();
			$('dt_degree'+id).hide();
			$('dt_license'+id).hide();
			$('dt_certification'+id).hide();
			$('dd_concentration'+id).hide();
			$('dt_class_year'+id).hide();
			$('dd_class_year'+id).hide();
			$('dt_description'+id).hide();
			$('dd_description'+id).hide();
			break;
		case '1':
			$('dt_school_name'+id).show();
			$('dd_school_name'+id).show();
			$('dt_providor_name'+id).hide();
			$('dt_degree'+id).show();
			$('dt_license'+id).hide();
			$('dt_certification'+id).hide();
			$('dd_concentration'+id).show();
			$('dt_class_year'+id).show();
			$('dd_class_year'+id).show();
			$('dt_description'+id).show();
			$('dd_description'+id).show();
			break;
		case '2':
			$('dt_school_name'+id).show();
			$('dd_school_name'+id).show();
			$('dt_providor_name'+id).hide();
			$('dt_degree'+id).hide();
			$('dt_license'+id).show();
			$('dt_certification'+id).hide();
			$('dd_concentration'+id).show();
			$('dt_class_year'+id).show();
			$('dd_class_year'+id).show();
			$('dt_description'+id).show();
			$('dd_description'+id).show();
			break;
		case '3':
			$('dt_school_name'+id).hide();
			$('dd_school_name'+id).show();
			$('dt_providor_name'+id).show();
			$('dt_degree'+id).hide();
			$('dt_license'+id).hide();
			$('dt_certification'+id).show();
			$('dd_concentration'+id).show();
			$('dt_class_year'+id).show();
			$('dd_class_year'+id).show();
			$('dt_description'+id).show();
			$('dd_description'+id).show();
			break;
	}
}


// tabs
//

// home
function activityMonthTab() {
	$('activityMonthTab').addClassName('selected'); 
	$('activityMonth').show(); 
	$('activityWeek').hide(); 
	$('activityWeekTab').removeClassName('selected'); 
	return false;
}

function activityWeekTab() {
	$('activityWeekTab').addClassName('selected'); 
	$('activityWeek').show(); 
	$('activityMonth').hide(); 
	$('activityMonthTab').removeClassName('selected'); 
	return false;
}

function networkTodayTab() {
	$('networkTodayTab').addClassName('selected'); 
	$('networkToday').show(); 
	$('networkYesterday').hide(); 
	$('networkYesterdayTab').removeClassName('selected'); 
	return false;
}

function networkYesterdayTab() {
	$('networkYesterdayTab').addClassName('selected'); 
	$('networkYesterday').show(); 
	$('networkToday').hide(); 
	$('networkTodayTab').removeClassName('selected'); 
	return false;
}

function groupTodayTab() {
	$('groupTodayTab').addClassName('selected'); 
	$('groupToday').show(); 
	$('groupYesterday').hide(); 
	$('groupYesterdayTab').removeClassName('selected'); 
	return false;
}

function groupYesterdayTab() {
	$('groupYesterdayTab').addClassName('selected'); 
	$('groupYesterday').show(); 
	$('groupToday').hide(); 
	$('groupTodayTab').removeClassName('selected'); 
	return false;
}


// profile
function summaryTab() {
	$('summaryTab').addClassName('selected'); 
	$('summary').show(); 
	//$('contact').hide(); 
	$('education').hide(); 
	$('experience').hide(); 
	//$('contactTab').removeClassName('selected'); 
	$('educationTab').removeClassName('selected'); 
	$('experienceTab').removeClassName('selected'); 
	return false;
}

function contactTab() {
	$('contactTab').addClassName('selected'); 
	$('contact').show(); 
	$('summary').hide(); 
	$('education').hide(); 
	$('experience').hide(); 
	$('summaryTab').removeClassName('selected'); 
	$('educationTab').removeClassName('selected'); 
	$('experienceTab').removeClassName('selected'); 
	return false;
}

function educationTab() {
	$('educationTab').addClassName('selected'); 
	$('education').show(); 
	$('summary').hide(); 
	//$('contact').hide(); 
	$('experience').hide(); 
	$('summaryTab').removeClassName('selected'); 
	//$('contactTab').removeClassName('selected'); 
	$('experienceTab').removeClassName('selected'); 
	return false;
}

function experienceTab() {
	$('experienceTab').addClassName('selected'); 
	$('experience').show(); 
	$('summary').hide(); 
	//$('contact').hide(); 
	$('education').hide(); 
	$('summaryTab').removeClassName('selected'); 
	//$('contactTab').removeClassName('selected'); 
	$('educationTab').removeClassName('selected'); 
	return false;
}


// messaging
function updateRecipients(li) {
	$('recipient_ids').value = $('recipient_ids').value+li.id+',';
	$('recipients').innerHTML = $('recipients').innerHTML+'<div id="recipient_'+li.id+'" class="recipient"><span>'+li.innerHTML+'<a href="javascript:removeRecipient('+li.id+');">X</a></span></div>';
	$('recipients_dt').show(); 
	$('recipients_dd').show(); 
	$('person_name').value = '';
	$('person_name').focus();
}

function removeRecipient(id) {
	$('recipient_'+id).remove();
	var recipientArray = explode(',', $('recipient_ids').value);
	removeByElement(recipientArray, id);
	$('recipient_ids').value = implode(',', recipientArray);
	if ($('recipient_ids').value == '') {
		$('recipients_dt').hide(); 
		$('recipients_dd').hide(); 
	}
}


// common funcitons
function toggleCustomize() {
	if ($('customize_tab').hasClassName('selected')) {
		$('customize_tab').removeClassName('selected');
		$('customize_options').hide();
	}
	else {
		$('customize_tab').addClassName('selected');
		$('customize_options').show();
	}
	return false;
}


// generic functions
function setFocus(id) {	$(id).setSelectionRange(0,0); $(id).focus(); }

function checkUncheckAll(form) {
	for (var i = 0; i < form.elements.length; i++) {
		var e = form.elements[i];
		if ((e.name != 'checkAll') && (!e.disabled) && (e.type == 'checkbox')) {
			e.checked = form.checkAll.checked;
		}
	}
}

function explode( delimiter, string, limit ) {
	// http://kevin.vanzonneveld.net
	// +     original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +     improved by: kenneth
	// +     improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +     improved by: d3x
	// +     bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// *     example 1: explode(' ', 'Kevin van Zonneveld');
	// *     returns 1: {0: 'Kevin', 1: 'van', 2: 'Zonneveld'}
	// *     example 2: explode('=', 'a=bc=d', 2);
	// *     returns 2: ['a', 'bc=d']

	var emptyArray = { 0: '' };
	
	// third argument is not required
	if ( arguments.length < 2 ||
			typeof arguments[0] == 'undefined' ||
			typeof arguments[1] == 'undefined' )
	{
			return null;
	}

	if ( delimiter === '' ||
			delimiter === false ||
			delimiter === null )
	{
			return false;
	}

	if ( typeof delimiter == 'function' ||
			typeof delimiter == 'object' ||
			typeof string == 'function' ||
			typeof string == 'object' )
	{
			return emptyArray;
	}

	if ( delimiter === true ) {
			delimiter = '1';
	}
	
	if (!limit) {
			return string.toString().split(delimiter.toString());
	} else {
			// support for limit argument
			var splitted = string.toString().split(delimiter.toString());
			var partA = splitted.splice(0, limit - 1);
			var partB = splitted.join(delimiter.toString());
			partA.push(partB);
			return partA;
	}
}

function implode( glue, pieces ) {
	// Joins array elements placing glue string between items and return one string  
	// 
	// version: 905.412
	// discuss at: http://phpjs.org/functions/implode
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   improved by: Waldo Malqui Silva
	// *     example 1: implode(' ', ['Kevin', 'van', 'Zonneveld']);
	// *     returns 1: 'Kevin van Zonneveld'
	return ( ( pieces instanceof Array ) ? pieces.join( glue ) : pieces );
}

function removeByElement(arrayName, arrayElement) {
	for(var i=0; i<arrayName.length;i++ ) { 
	if(arrayName[i]==arrayElement)
		arrayName.splice(i,1); 
	} 
}

function charCounter(id, maxlimit, limited){
	if (!$('counter-'+id)){
		$(id).insert({after: '<span id="counter-'+id+'"></span>'});
	}
	if($F(id).length >= maxlimit){
		if(limited){	$(id).value = $F(id).substring(0, maxlimit); }
		$('counter-'+id).addClassName('charcount-limit');
		$('counter-'+id).removeClassName('charcount-safe');
	} else {	
		$('counter-'+id).removeClassName('charcount-limit');
		$('counter-'+id).addClassName('charcount-safe');
	}
	$('counter-'+id).update( maxlimit - $F(id).length );	
}

function makeItCount(id, maxsize, limited){
	if(limited == null) limited = true;
	if ($(id)){
		Event.observe($(id), 'keyup', function(){charCounter(id, maxsize, limited);}, false);
		Event.observe($(id), 'keydown', function(){charCounter(id, maxsize, limited);}, false);
		charCounter(id,maxsize,limited);
	}
}

function cutoffText(id, maxlimit) {
	$(id).value = $F(id).substring(0, maxlimit);
}

function checkTextSize(id, maxsize){
	if ($(id)){
		Event.observe($(id), 'keyup', function(){cutoffText(id, maxsize);}, false);
		Event.observe($(id), 'keydown', function(){cutoffText(id, maxsize);}, false);
		cutoffText(id,maxsize);
	}
}


function statusUpdateFocus(maxsize) {
	var searchString = $('status').value;
	/*if (searchString == 'What\'s new in your world?'){
		$('status').value='';
		$('status').removeClassName('inactive');
		charCounter('status', maxsize, false);
	}*/
}