// BrowserDetect
// http://www.quirksmode.org/js/detect.html
var BrowserDetect={init:function(){this.browser=this.searchString(this.dataBrowser)||"An unknown browser";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";this.OS=this.searchString(this.dataOS)||"an unknown OS";},searchString:function(data){for(var i=0;i<data.length;i++){var dataString=data[i].string;var dataProp=data[i].prop;this.versionSearchString=data[i].versionSearch||data[i].identity;if(dataString){if(dataString.indexOf(data[i].subString)!=-1)
return data[i].identity;}
else if(dataProp)
return data[i].identity;}},searchVersion:function(dataString){var index=dataString.indexOf(this.versionSearchString);if(index==-1)return;return parseFloat(dataString.substring(index+this.versionSearchString.length+1));},dataBrowser:[{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]};BrowserDetect.init();

// admin functions

	// date pickers

	function updateDateFormat(obj) {
		var objDate = new Date();
		var intHour = objDate.getHours();
		intHour = intHour + ' ';
		if (intHour.length == 2) { intHour = '0' + intHour; }
		intHour = intHour.substring(0, 2);
		var intMinute = objDate.getMinutes();
		intMinute = intMinute + ' ';
		if (intMinute.length == 2) { intMinute = '0' + intMinute; }
		intMinute = intMinute.substring(0, 2);
		var intSecond = objDate.getSeconds();
		intSecond = intSecond + ' ';
		if (intSecond.length == 2) { intSecond = '0' + intSecond; }
		intSecond = intSecond.substring(0, 2);
		var strDate = obj.value.substring(6, 10) + '-' + obj.value.substring(0, 2) + '-' + obj.value.substring(3, 5) + ' ' + intHour + ':' + intMinute + ':' + intSecond;
		obj.value = strDate;
	}

	$$('.dtePck').each(function(obj) {
		if (BrowserDetect.browser == 'Safari') {
			var offset = 90;
		} else {
			var offset = 139;
		}
		new DatePicker ( {
			keepFieldEmpty: true,
			language: 'en',
			leftOffset: offset,
			relative: obj.id,
			relativePosition: true,
			topOffset: 123,
			zindex: '1000',
			clientCallback: updateDateFormat
		} );
	} );

	// handle cancel
	$$('.btnCancel').each(function(obj) {
		obj.onclick = function() {
			if (confirm('Are you sure you want to cancel and leave this page?')) {
				window.location.href = $('cancel').value;
			}
		}
	} );

	// handle delete
/*	$$('.btnDelete').each(function(obj) { 
		obj.onclick = function() {
			if (confirm('Are you sure you want to permanently delete this? There are no undos!')) {
				var id = tmLib.charNum2NumArr($(this).up('tr').id);
				new Ajax.Request('/admin/' + this.rel + '-process.php', {
					method: 'post',
					parameters: { action:'delete', id:id },
					onSuccess: function(res) {
						var obj = res.responseText.evalJSON(true);
						if (obj.result) {
							new Effect.Fade($('row-' + obj.id), { duration: 0.2 } );
						} else {
							alert('An error occurred and nothing has been deleted! :(');
						}
					},
					onFailure: function(){ alert('Something went wrong...') }
				});
			}
			return false;
		}
	} );*/

	// handle publish

	$$('.tglPub').each(function(obj) {
		obj.onclick = function() {
			var id = tmLib.charNum2NumArr($(this).up('tr').id);
			if ($(this).hasClassName('btnPublished')) {
				var pub = 0;
			} else {
				var pub = 1;
			}
			new Ajax.Request('/admin/' + this.rel + '-process.php', {
					method: 'post',
					parameters: { action:'pub', id:id, pub:pub },
					onSuccess: function(res) {
						var obj = res.responseText.evalJSON(true);
						if (obj.result) {
							var obj = $('row-' + obj.id).down('.tglPub');
							if (obj.hasClassName('btnPublished')) {
								obj.removeClassName('btnPublished');
								obj.addClassName('btnDraft');
							} else {
								obj.removeClassName('btnDraft');
								obj.addClassName('btnPublished');
							}
						} else {
							alert('An error occurred and nothing was published! :(');
						}
					},
					onFailure: function(){ alert('Something went wrong...') }
				});
			return false;
		}
	} );

	// tinyMCE

	if (window.tinyMCE) {
		tinyMCE.init( {
			mode: 'textareas',
			theme: 'advanced',
			skin: 'segal',
			theme_advanced_disable : 'strikethrough,justifyright,justifyfull,styleselect,separator,outdent,indent,|,hr,visualaid,subscript,superscript,image,anchor',
			theme_advanced_toolbar_location : 'top',
			theme_advanced_toolbar_align : 'left',
			plugins: 'ibrowser,paste,advlink',
			theme_advanced_buttons3_add : "pastetext,pasteword,selectall,ibrowser",
			paste_auto_cleanup_on_paste : true,
			height: '300',
			width: '400',
			document_base_url: 'http://www.segalco.ca',
			relative_urls : false,
			remove_script_host : false
		});
	}

// segal obj

segal = {

	init: function() {
		$$('.modal-homepage').each(function(obj) {
			obj.onclick = function() {
				tmModalWindows.showModal(obj.rel);
				return false;
			}
		});
	},

	addToFavs: function(strTitle, strUrl) {
		new Ajax.Request('/process/index.php', {
			method: 'post',
			parameters: { action:'addFav', title:strTitle, url:strUrl },
			onSuccess: function(res) {
				var obj = res.responseText.evalJSON(true);
				if (obj.result) {
					var a = Builder.node('a', { href:obj.url }, obj.title );
					var li = Builder.node('li', { id:'favLink' + obj.id, style:'display:none;' } );
					li.appendChild(a);
					$('favLinks').appendChild(li);
					new Effect.Appear(li, { duration: 0.2 } );
					$('favToggle').innerHTML = '<a href="#" class="favDel" onclick="segal.removeFromFavs('+ obj.id + ');return false;">Remove this page from favorites</a>';
				} else {
					alert('An error occurred and nothing has been added! :(');
				}
			},
			onFailure: function() { alert('Something has just gone horribly wrong...') }
		} );
	},

	deleteSelected: function() {
		if (confirm('Are you sure you want to permanently delete this? There are no undos!')) {
			$$('#frmData input[type="checkbox"]').each(function(obj) { 
				if (obj.checked) {
					new Ajax.Request('/admin/' + $$('.btnDelete')[0].rel + '-process.php', {
						method: 'post',
						parameters: { action:'delete', id:obj.value },
						onSuccess: function(res) {
							var obj = res.responseText.evalJSON(true);
							if (obj.result) {
								new Effect.Fade($('row-' + obj.id), { duration: 0.2 } );
							} else {
								alert('An error occurred and nothing has been deleted! :(');
							}
						},
						onFailure: function(){ alert('Something went wrong...') }
					});
				}
			});
		}
		return false;
	},

	login: function() {
		var i = $('txtUsername');
		var e = false;
		if (i.value == '') {
			e = true;
			i.addClassName('error');
		} else {
			var u = i.value;
			i.removeClassName('error');
		}
		var i = $('txtPass');
		if (i.value == '') {
			e = true;
			i.addClassName('error');
		} else {
			var p = i.value;
			i.removeClassName('error');
		}
		if (false == e) {
			new Ajax.Request('/process/login.php', {
				method: 'post',
				parameters: { txtUsername:u, txtPass:p, format:'json' },
				onSuccess: function(res) {
					var obj = res.responseText.evalJSON(true);
				},
				onFailure: function(){ alert('Something went wrong...') }
			} );
		}
		return false;
	},

	removeFromFavs: function(id) {
		new Ajax.Request('/process/index.php', {
			method: 'post',
			parameters: { action:'removeFav', id:id },
			onSuccess: function(res) {
				var obj = res.responseText.evalJSON(true);
				if (obj.result) {
					new Effect.Fade($('favLink' + obj.id), { duration: 0.2 } );
					$('favToggle').innerHTML = '<a href="#" class="favAdd" onclick="segal.addToFavs(\'' + obj.title + '\', \'' + obj.url + '\');return false;">Make this page a favorite</a>';
				} else {
					alert('An error occurred and nothing has been deleted! :(');
				}
			},
			onFailure: function() { alert('Something has just gone horribly wrong...') }
		} );
	},

	selectAll: function() {
		$$('#frmData input[type="checkbox"]').each(function(obj) { 
			obj.checked = true;
		});
	},

	selectNone: function() {
		$$('#frmData input[type="checkbox"]').each(function(obj) { 
			obj.checked = false;
		} );
	}

}
Event.observe(window, 'load', segal.init.bindAsEventListener(segal), false);

/*
// homepage modules
//if (!(BrowserDetect.browser == 'Explorer' && BrowserDetect.version < 7)) {
	(function() {
		// prep moodules
		$$('.modules').each(function(obj) {
			// add handle
			var f = obj.firstDescendant();
			var h = Builder.node('span', { className:'handle', style:'display:none;' } );
			obj.insertBefore(h, f);
			// add event listeners
			Event.observe(obj, 'mousedown', function(e) {
				if (Event.element(e).hasClassName('modules')) {
					var obj = Event.element(e);
				} else {
					var obj = Event.element(e).up('div.modules');
				}
				obj.style.cursor = 'url(/images/icons/icon_drag.cur), grabbing, default';
			});
			Event.observe(obj, 'mouseout', function(e) {
				if (Event.element(e).hasClassName('modules')) {
					var obj = Event.element(e);
				} else {
					var obj = Event.element(e).up('div.modules');
				}
				obj.removeClassName('modules-target');
				var h = obj.select('.handle')[0];
				h.removeClassName('handle-target');
				h.style.display = 'none';
			});
			Event.observe(obj, 'mouseover', function(e) {
				if (Event.element(e).hasClassName('modules')) {
					var obj = Event.element(e);
				} else {
					var obj = Event.element(e).up('div.modules');
				}
				obj.addClassName('modules-target');
				obj.style.cursor = 'url(/images/icons/icon_grab.cur), default';
				var h = obj.select('.handle')[0];
				h.addClassName('handle-target');
				h.style.display = 'block';
			});
			Event.observe(obj, 'mouseup', function(e) {
				if (Event.element(e).hasClassName('modules')) {
					var obj = Event.element(e);
				} else {
					var obj = Event.element(e).up('div.modules');
				}
				obj.style.cursor = 'url(/images/icons/icon_grab.cur), grab, default';
			});
		});
		// create sortable
		if ($('modules')) {
			Sortable.create('modules', {
				tag: 'div',
				constraint: false,
				ghosting: false,
				hoverclass: 'modules-target',
				overlap: 'horizontal'
			});
		}
	})();
//}*/
/*
// VIDEO PLAYER

thisMovie = function(movieName)
{
	if (navigator.appName.indexOf("Microsoft") != -1)
	{
		return window[movieName];
	}

	else
	{
		return document[movieName];
	}
}

changeVideo = function(videoid)
{
	thisMovie("videoPlayer").callAS(videoid);
}

if ($('flash-content')) {
	var flashvars = {
		xmlPath: "/flash/xml/controls-video-player.xml",
		videoID: "",
		autoplay: "false",
		autoplayNext: "false"
	};
	
	var params = {
		AllowScriptAccess: "always"
	};
	
	var attributes = {
		id: "videoPlayer"
	};

	swfobject.embedSWF (
		"/flash/video-player.swf",
		"flash-content",
		"300",
		"270",
		"9.0.0",
		"/flash/video-player.swf",
		flashvars,
		params,
		attributes
	);
}
*/
	
// HEROSPACE

/*	var flashvars = {
		mustspinonClick: "0",
		refreshdelayinmilliseconds: "2000",
		xmlPath: "/flash/xml/controls-hero-homepage.xml",
		pageTitle: "Illuminating Insights"
	};
	
	var params = {
		AllowScriptAccess: "always"
	};
	
	var attributes = 
	{
	};

	swfobject.embedSWF (
		"/flash/hero.swf",
		"flashcontent",
		"100%",
		"160",
		"9.0.0",
		"/flash/hero.swf",
		flashvars,
		params,
		attributes
	);*/


