/*function journal_addLoadEvent(func)
{
	var oldonload = window.onload;
	if (typeof window.onload != 'function')
	{
		window.onload = func;
	}
	else
	{
		window.onload = function() {
			if (oldonload)
			{
				oldonload();
			}
			func();
		}
	}
}

function journalLoadEvent() 
{
	//$('textBox1').hide();
	
};
journal_addLoadEvent(journalLoadEvent);
*/

function journalShow(element)
{
	$(element+'_header').hide();
	$(element).show();

	
}

function journalHide(element)
{
	$(element+'_header').show();
	$(element).hide();

}

var journalLimit = 0;
var journalTabID = 0;

function journalTab(contactid,tab,limit)
{
	var d = new Date();
	journalTabID = tab;
	journalLimit = limit;
	var url = 'journal.asp';
	var params = 'btnAction=SelectTab&contactid='+contactid+'&tabID='+tab+'&limit='+limit+ '&ms=' + d.getTime();
	var ajax = new Ajax.Updater(
		{success: 'journalCombined'},
		url,
		{method: 'get', parameters: params, onFailure: journalError, onComplete: journalHideLoader});
}


function journalDelete(type,id)
{
	var result= confirm("Do you really want to delete this Journal item?");
	
	if(result)
	{
		var d = new Date();
		var url = 'journal.asp';
		var params = 'btnAction=Delete&type='+type+'&id='+id+'&tabID='+journalTabID + '&ms=' + d.getTime();
		var ajax = new Ajax.Updater(
			{success: 'journalCombined'},
			url,
			{method: 'get', parameters: params, onFailure: journalError, onComplete: journalHideLoader});
	}
}

function journalEditForm(type,id,element,limit)
{
	var d = new Date();
	var url = 'journal.asp';
	var params = 'btnAction=EditForm&type='+type+'&itemID='+id+'&tabID='+journalTabID+'&limit='+limit+ '&ms=' + d.getTime();
	var ajax = new Ajax.Updater(
		{success: element},
		url,
		{method: 'get', parameters: params, onFailure: journalError, onComplete: journalHideLoader});

}

function journalAddForm(tab,limit)
{
	var d = new Date();
	var url = 'journal.asp';
	var params = 'btnAction=AddForm&tabID='+tab+'&limit='+limit+ '&ms=' + d.getTime();
	var ajax = new Ajax.Updater(
		{success: 'journalCombined'},
		url,
		{method: 'get', parameters: params, onFailure: journalError, onComplete: journalHideLoader});
}

function journalAdd(tab, limit, type)
{
	var d = new Date();
	
	valid = new Validation("JournalAdd",{});
	HACKCustomClass = 'floatL';
	Validation.add('validate-text', 'Text can only be between 1 and 500 characters long', {
				minLength : 1,
				maxLength : 500
				}
			);
	Validation.add('validate-title', 'Title must be between 1 and 100 characters long', {
				minLength : 1,
				maxLength : 100
				}
			);
	Validation.add('validate-link', 'Must be a valid URL no longer than 100 characters', {
				minLength : 1,
				maxLength : 100,
				include : ['validate-url'] 
				}
			);
	Validation.add('validate-caption', 'Title must be less than 100 characters long', {
				minLength : 0,
				maxLength : 100
				}
			);
	Validation.add('validate-file', 'An image file must be provided', {
				minLength : 1,
				maxLength : 128
				}
			);
			
	if(valid.validate())
	{
		if(type == 'link')
		{
			title = $F('JournalAddDesc');
			linkA = $F('JournalAddContent');//had to change to linkA from link as JS was screwing up in IE6,7 and safari, was fine in FF, SKI
			
			var url = 'journal.asp';
			var params = 'btnAction=AddContent&tabID='+tab+'&limit='+limit+'&type=link&desc='+title+'&content='+linkA+ '&ms=' + d.getTime();
			var ajax = new Ajax.Updater(
				{success: 'journalCombined'},
				url,
				{method: 'get', parameters: params, onFailure: journalError, onComplete: journalHideLoader});
		}
		else if(type == 'text')
		{
			text = $F('JournalAddContent');
			var url = 'journal.asp';
			var params = 'btnAction=AddContent&tabID='+tab+'&limit='+limit+'&type=text&content='+text+ '&ms=' + d.getTime();
			var ajax = new Ajax.Updater(
				{success: 'journalCombined'},
				url,
				{method: 'post', parameters: params, onFailure: journalError, onComplete: journalHideLoader});
		}
		else if(type == 'pics')
		{
			// submit the form to the iframe - to upload the file.
			
			journalTabSave = tab;
			journalLimitSave = limit;
			journalShowPicLoader();
			document.JournalAdd.submit();
		}
	}
	HACKCustomClass = 'floatL';
	
	
}

function journalUpdate(tab, limit, type, id)
{
	var d = new Date();
	
	valid = new Validation("JournalAdd",{});
	HACKCustomClass = 'floatL';
	Validation.add('validate-text', 'Text can only be between 1 and 500 characters long', {
				minLength : 1,
				maxLength : 500
				}
			);
	Validation.add('validate-title', 'Title must be between 1 and 100 characters long', {
				minLength : 1,
				maxLength : 100
				}
			);
	Validation.add('validate-link', 'Must be a valid URL no longer than 100 characters', {
				minLength : 1,
				maxLength : 100,
				include : ['validate-url'] 
				}
			);
	Validation.add('validate-caption', 'Title must be less than 100 characters long', {
				minLength : 0,
				maxLength : 100
				}
			);
	Validation.add('validate-file', 'An image file must be provided', {
				minLength : 0,
				maxLength : 128
				}
			);

	if(valid.validate())
	{	
		if(type == 'link')
		{
			title = $F('JournalAddDesc');
			link = $F('JournalAddContent');
			
			var url = 'journal.asp';
			var params = 'btnAction=UpdateContent&tabID='+tab+'&limit='+limit+'&type=link&desc='+title+'&content='+link+'&itemID='+id+ '&ms=' + d.getTime();
			var ajax = new Ajax.Updater(
				{success: 'journalCombined'},
				url,
				{method: 'get', parameters: params, onFailure: journalError, onComplete: journalHideLoader});
		}
		else if(type == 'text')
		{
			text = $F('JournalAddContent');
			var url = 'journal.asp';
			var params = 'btnAction=UpdateContent&tabID='+tab+'&limit='+limit+'&type=text&content='+text+'&itemID='+id+ '&ms=' + d.getTime();
			var ajax = new Ajax.Updater(
				{success: 'journalCombined'},
				url,
				{method: 'post', parameters: params, onFailure: journalError, onComplete: journalHideLoader});
		}
		else if(type == 'pics')
		{
			// submit the form to the iframe - to upload the file.
			journalTabSave = tab;
			journalLimitSave = limit;
			journalShowPicLoader();
			document.JournalAdd.submit();
		}
	}
	HACKCustomClass = '';
}
function journalShowPicLoader()
{
	$('journalAddLoader').show();
}
function journalHidePicLoader(cid,success,msg)
{	
	if(!success && typeof msg != "undefined")
	
		alert(msg);
	else
	{
		journalTab(cid,journalTabSave,journalLimitSave);
	}
	$('journalAddLoader').hide();
}
function journalFormSelect(tab,limit)
{
	var d = new Date();
	ele = $('journalSelect')
	tab = ele.options[ele.selectedIndex].value;
	
	var url = 'journal.asp';
	var params = 'btnAction=ChangeForm&tabID='+tab+'&limit='+limit+ '&ms=' + d.getTime();
	var ajax = new Ajax.Updater(
		{success: 'journalAddForm'},
		url,
		{method: 'get', parameters: params, onFailure: journalError, onComplete: journalHideLoader});
}
function journalError()
{
	alert('Journal AJAX error');
}

function journalHideLoader()
{
}

// Added by Chris 12th Feb. see 
/*
function initFileUploads() {
	var W3CDOM = (document.createElement && document.getElementsByTagName);
	if (!W3CDOM) return;
	var fakeFileUpload = document.createElement('div');
	fakeFileUpload.className = 'fakeFile';
	fakeFileUpload.appendChild(document.createElement('input'));
	var image = document.createElement('img');
	image.src='images/icons_buttons/btn_browse.gif';
	fakeFileUpload.appendChild(image);
	var x = document.getElementsByTagName('input');
	for (var i=0;i<x.length;i++) {
		if (x[i].type != 'file') continue;
		if (x[i].parentNode.className != 'fileInputs') continue;
		x[i].className = 'file hidden';
		var clone = fakeFileUpload.cloneNode(true);
		x[i].parentNode.appendChild(clone);
		x[i].relatedElement = clone.getElementsByTagName('input')[0];
		x[i].onchange = x[i].onmouseout = function () {
			this.relatedElement.value = this.value;
			alert("ahoy line 217");
		}
	}
}
*/