if($.browser.msie&&parseInt($.browser.version)<7){
	$(document).ready(function(){
		$('.thumb').hover(function(){ $(this).children().filter('h3').css('display','block');},
		function(){$(this).children().filter('h3').css('display','none');});
	});
}

var full = false;
function toggleMaginalFullWindowSize() {
	if(full) {
		$("#flashcontent").removeClass("flashcontentfull");
		$("#Book").removeClass("flashbookfull");
		full = false;
	} else {
		$("#flashcontent").addClass("flashcontentfull");
		$("#Book").addClass("flashbookfull");
		full = true;
	}
}

$(function() {
	$.fn.search = function() {
		return this.focus(function() { if( this.value == this.defaultValue ) {this.value = ""; } }
		).blur(function() { if( !this.value.length ) { this.value = this.defaultValue; } } );
	};
	$("#keyword").search();
});

function getremotecontent(remotecontent){
	$('#modules #contents').html("<div class=\"info\">Loading Content. Please wait...</div>");
	$.ajax({
		url: remotecontent,
		error:function(ajaxrequest){ $('#modules #contents').html('Error loading content.<br />Server Response: '+ajaxrequest.responseText) },
		success:function(content){ $('#modules #contents').html(content); }
	})
};

//home modules
jQuery.fn.switchTabs = function() {
	var currentType = 'maginals';
	var currentCat = '';
	var currentSpan = '';
	
	return this.each(function(){
		jQuery(this).find("li").each(function(z) {
			jQuery(this).bind("click", function() { 
				var tab = jQuery(this)[0].id;
				
				if(tab == currentType || "/"+tab == currentCat || "/"+tab == currentSpan) return;
				if(tab == "alltypes" && currentType == "maginals") return;
				if(tab == "allcat" && currentCat == "") return;
				if(tab == "featured" && currentSpan == "") return;
				
				jQuery('#modules #contents').animate( { opacity:'toggle' }, 'slow', function(){
						if($("#"+tab).parent().hasClass("types")) {
							currentType = (tab == "alltypes") ? "maginals" : tab;
						} else if($("#"+tab).parent().hasClass("cat")) {
							currentCat = (tab == "allcat") ? "" : "/" + tab;
						} else if($("#"+tab).parent().hasClass("popfeat")) {
							currentSpan = (tab == "popular") ? "/popular" : "";
						}
						getremotecontent("/module/" + currentType + currentCat + currentSpan);
						jQuery(this).animate( { opacity:'toggle' }, 'slow' );
					}
				);
				jQuery(this).addClass("current").parent().find("li").not(jQuery(this)).removeClass("current");
				jQuery(this).children().html("checking").parent().parent().find("li").not(jQuery(this)).children().html("check");
			});
		});
    });
};

//more / related
jQuery.fn.switchTab = function() {
	var currentTab = 'related';
	return this.each(function(){
		jQuery(this).find("li").each(function(z) {
			jQuery(this).bind("click", function() {
				jQuery('#'+currentTab).animate(
					{ opacity:'toggle' },
					'slow',
					function(){ 
						jQuery('#'+currentTab).hide();
						if(currentTab == "related") currentTab = "more";
						else if(currentTab == "more") { currentTab = "related"; }
						jQuery('#'+currentTab).fadeIn().show();
					}
				);
				jQuery(this).addClass("current").parent().find("li").not(jQuery(this)).removeClass("current");
			});
		});
  });
};

function charLimit(field, maxLength) {
	var inputLength=field.value.length;
	if(inputLength>=maxLength) {
		field.value=field.value.substring(0,maxLength);
	}
}
function charCounter(field, maxLength, countTarget) {
	var inputLength=field.value.length;
	if(inputLength>=maxLength) {
		field.value=field.value.substring(0,maxLength);
	}
	countTarget.innerHTML=maxLength-field.value.length;
}

// popup window
function popup(url){
  popupWindow = window.open(url, "littleWindow", "location=no,width=1024,height=768"); 
}

var url = "";
function changeShareURL() {
	if(!url) { url = $('#url').val(); url = url.substring(0, url.length - 5); } 
	if(typeof($("input[@name='fullcheck']:checked").val()) == 'undefined') $('#url').val(url);
	else $('#url').val(url + '/full');
}

function checkLength(o, min, max) {
	if ( o.val().length > max || o.val().length < min ) {
		return false;
	} else return true;
}
function checkPhoto(o, placeholder) {
	if(o.attr("src") == placeholder) {
		return false;
	} else return true;
}

var editSponsor = null;
function addSponsorDialog() {
	var type = $("#sptype"),
		logo = $("#dialog-sponsor .logo img"),
		allFields = $([]).add(type).add(logo);
	
	$("#dialog-sponsor").dialog({
		autoOpen: false,
		height: 270,
		width: 720,
		modal: true,
		resizable: false,
		buttons : {
			'Add/Edit Sponsor': function() {
				var bValid = true;
	
				bValid = bValid && checkPhoto(logo, "/img/add_sponsor.png");
				//bValid = bValid && checkLength(type, 5, 50);

				if (bValid) {
					if(editSponsor == null) {
						if(type.val() != "") type = '<span>' + type.val() + '</span>';
						else type = "";
						
						$("#spons").append('<li>' + type + '<img width="160" src="' + logo.attr("src") + '" />' +
							'<div class="tool"><a href="#" title="Move" class="move"></a><a href="#" title="Edit" class="edit"></a><a href="#" title="Delete" class="del"></a></div></li>' +
							'</div>');
						$("#spons .del").click(function() { $(this).parent().parent().fadeOut(500, function() { $(this).remove(); }); return false; });
						$("#spons .edit").click(function() {
							editSponsor = $(this).parent().parent();
							$("#dialog-sponsor .logo img").attr("src", $(this).parent().parent().find("img").attr("src"));
							$('#dialog-sponsor #sptype').val($(this).parent().parent().find("span").html());
							//$("#dialog-speaker .photo object").hide();
							$('#dialog-sponsor').dialog("open");
							return false;
						});
					} else {
						editSponsor.find("img").attr("src", $("#dialog-sponsor .logo img").attr("src"));
						//editSponsor.find("span").html($('#dialog-sponsor #sptype').val());
						$sponstype = editSponsor.find("span");
						if ( $sponstype.length === 0) {
							editSponsor.prepend('<span>' + $('#dialog-sponsor #sptype').val() + '</span>');
						}
					}
					$(this).dialog('close');
				} else {
					$("#dialog-sponsor .note").fadeIn();
				}
			},
			Cancel: function() {
				$(this).dialog('close');
			}
		},
		close: function() {
			allFields.val('');
			$("#dialog-sponsor .logo img").attr("src", "/img/add_sponsor.png");
			$("#dialog-sponsor .logo object").show();
			$("#dialog-sponsor .note").hide();
		}
	});
}

var editSpeaker = null;
function addSpeakerDialog() {
	var name 		= $("#name"),
		position 	= $("#position"),
		company 	= $("#company"),
		photo 		= $("#dialog-speaker .photo img"),
		allFields 	= $([]).add(name).add(position).add(company).add(photo);
	
	$("#dialog-speaker").dialog({
		autoOpen	: false,
		height		: 250,
		width		: 600,
		modal		: true,
		resizable	: false,
		buttons 	: {
			'Add/Edit Speaker': function() {
				var bValid = true;

				bValid = bValid && checkPhoto(photo, "/img/add_speaker.png");
				bValid = bValid && checkLength(name, 5, 100);
				//bValid = bValid && checkLength(position, 5, 100);
				//bValid = bValid && checkLength(company, 5, 100);
	
				if (bValid) {
					if(editSpeaker == null) {
						$('#speakers').append('<div class="speaker"><img class="photo" width="75" height="95" src="' + photo.attr("src") + '" />' +
							'<div class="name">' + name.val() + '</div>' + 
							'<div class="position">' + position.val() + '</div>' + 
							'<div class="company">' + company.val() + '</div>' +
							'<div class="tool"><a href="#" title="Move" class="move"></a><a href="#" title="Edit" class="edit"></a><a href="#" title="Delete" class="del"></a></div>' +
							'</div>');
						$("#speakers .del").click(function() { $(this).parent().parent().fadeOut(500, function() { $(this).remove(); }); return false; });
						$("#speakers .edit").click(function() {
							editSpeaker = $(this).parent().parent();
							$("#dialog-speaker .photo img").attr("src", $(this).parent().parent().find(".photo").attr("src"));
							$('#dialog-speaker #name').val($(this).parent().parent().find(".name").html());
							$('#dialog-speaker #position').val($(this).parent().parent().find(".position").html());
							$('#dialog-speaker #company').val($(this).parent().parent().find(".company").html());
							//$("#dialog-speaker .photo object").hide();
							$('#dialog-speaker').dialog("open");
							return false;
						});
					} else {
						editSpeaker.find(".photo").attr("src", $("#dialog-speaker .photo img").attr("src"));
						editSpeaker.find(".name").html($('#dialog-speaker #name').val());
						editSpeaker.find(".position").html($('#dialog-speaker #position').val());
						editSpeaker.find(".company").html($('#dialog-speaker #company').val());
					}
					$(this).dialog('close');
				} else {
					$("#dialog-speaker .note").fadeIn();
				}
			},
			Cancel: function() {
				$(this).dialog('close');
			}
		},
		close: function() {
			allFields.val('');
			$("#dialog-speaker .photo img").attr("src", "/img/add_speaker.png");
			$("#dialog-speaker .photo object").show();
			$("#dialog-speaker .note").hide();
		}
	});
}

function cropPreview(img, selection) {
	if (!selection.width || !selection.height)
		return;
	
	var scaleX = 75 / selection.width;
	var scaleY = 95 / selection.height;
	
	var selW = $('#dialog-crop .cropbig img').css("width");
	var selH = $('#dialog-crop .cropbig img').css("height");
	
	$('#dialog-crop .crop img').css({
		width		:       Math.round(scaleX * parseInt(selW, 10)) + 'px', 
		height		:       Math.round(scaleY * parseInt(selH, 10)) + 'px', 
		marginLeft	: '-' + Math.round(scaleX * selection.x1) + 'px', 
		marginTop	: '-' + Math.round(scaleY * selection.y1) + 'px'
	});
}

var ias = null;
function cropImageDialog() {
	var cropbig = $("#dialog-crop .cropbig img"),
		crop = $("#dialog-crop .crop img"),
		allFields = $([]).add(cropbig).add(crop);
	
	$("#dialog-crop").dialog({
		autoOpen	: false,
		height		: 500,
		width		: 800,
		modal		: true,
		resizable	: true,
		buttons 	: {
			'Crop Photo': function() {
				var sel = ias.getSelection();
				var x1 	= sel.x1;
				var y1 	= sel.y1;
				var x2 	= sel.x2;
				var y2 	= sel.y2;
				var w 	= sel.width;
				var h 	= sel.height;
				if(w == "" || h == ""){
					alert("You must make a selection first");
					return false;
				} else {
					$.ajax({
						'type'     : 'POST',
						'url'      : '/uploadphoto.php',
						'dataType' : 'json',
						'data'     : { 
							'x1'	: x1, 'y1'	: y1,
							'x2'	: x2, 'y2'	: y2,
							'w'		: w,  'h'	: h,
							'type'	: 'cropphoto',
							'folder': '/uploads/' + eventurl,
							'image'	: $("#dialog-crop .cropbig img").attr("src")
						},
						'error'    : function(json) {  },
						'success'  : function(json) {
							if(json.ok) {
								$("#dialog-speaker .photo img").attr("src", json.th);
								$('#dialog-crop').dialog("close");
							} else {
								alert("oops!!! FAIL...");
							}
						}
					});
				}
			},
			Cancel: function() {
				$(this).dialog('close');
			}
		},
		open: function() {
			ias = $('#dialog-crop .cropbig img').imgAreaSelect({ 
				x1: 10, y1: 10, x2: 85, y2: 105, w: 75, h: 95,
				fadeSpeed		: 400,
				instance		: true, 
				onSelectChange	: cropPreview, 
				aspectRatio		: '75:95',
				handles			: true,
				instance		: true
			}); 
		},
		close: function() {
			$('#dialog-crop .cropbig img').imgAreaSelect({remove:true});
		}
	});
}

function validateTopic() {
	if(typeof($("input[@name='topic']:checked").val()) == 'undefined') {
		return true;
	} else { return false; }
}
jQuery.fn.extend({
	saveEventChanges: function() {
		$(this).click(function () {
			$('#dialog-message').dialog("open");
			
			$("#speakers, #spons").find(".tool").remove();
			var speakers 	= $("#speakers").html();
			var sponsors 	= $("#spons").html();
			var morecontent = CKEDITOR.instances.editor.getData();

			$.ajax({
				'type'     : 'POST',
				'url'      : '/event/' + eventurl + '/save',
				'dataType' : 'json',
				'data'     : { 
					'event'			: eventurl,
					'speakers'		: speakers,
					'sponsors'		: sponsors,
					'morecontent'	: morecontent
				},
				'error'    : function(json) { },
				'success'  : function(json) {
					if(json.ok) {
						$( "#dialog-message" ).dialog( "option", "buttons", { 
							"Ok": function() { location.href = "/event/" + eventurl; } 
						} );
						$( "#dialog-message" ).dialog( "option", "height", 200 );
						$( "#dialog-message #message" ).html(json.msg);
					} else {
						$( "#dialog-message" ).dialog( "option", "buttons", { "Ok": function() { $(this).dialog("close"); } } );
						$( "#dialog-message" ).dialog( "option", "height", 200 );
						$( "#dialog-message #message" ).html(json.msg);
					}
				}
			});
			setConfirmUnload(false);
			
			return false;
		});
	}
});

var wymedit;
function setEventEditable() {
	$("#actions .save").saveEventChanges();
	
	$('#uploadBrochure').uploadify({
		'uploader'  : '/swf/uploadify.swf',
		'script'    : '/uploadbrochure.php',
		'cancelImg' : '/img/icon_cancel.png',
		'auto'      : false,
		'multi'		: false,
		'folder'    : '/uploads/' + eventurl,
		'buttonText': 'browse',
		'fileDesc'	: 'PDF Files',
		'fileExt'	: '*.pdf',
		onComplete	: function(event, queueID, fileObj, response, data) {
			$('#fileUploaded').html('\"' + fileObj.name + '\" was successfully uploaded.');
			$('#fileUploaded').animate({'display':'block'},3000).hide(500);
		}
	});
	$('#dialog-speaker #photo').uploadify({
		'uploader'  : '/swf/uploadify.swf',
		'script'    : '/uploadphoto.php',
		'cancelImg' : '/img/icon_cancel.png',
		'auto'      : true,
		'multi'		: false,
		'folder'    : '/uploads/' + eventurl,
		'buttonText': 'Set Photo',
		'fileDesc'	: 'Image Files (JPG, PNG, GIF)',
		'fileExt'	: '*.jpg;*.png;*.gif',
		'sizeLimit'	: 3145728,
		'scriptData': {'type': 'uploadphoto'},
		'onComplete': function(event, queueID, fileObj, response, data) {
			$("#dialog-speaker .photo img").attr("src", response);
			$("#dialog-speaker .photo object").hide();
			//$("#dialog-speaker").dialog("hide");
			$("#dialog-crop .crop img").attr("src", response);
			$("#dialog-crop .cropbig img").attr("src", response);
			$('#dialog-crop').dialog("open");
		}
	});
	
	$('#dialog-sponsor #splogo').uploadify({
		'uploader'  : '/swf/uploadify.swf',
		'script'    : '/uploadphoto.php',
		'cancelImg' : '/img/icon_cancel.png',
		'auto'      : true,
		'multi'		: false,
		'folder'    : '/uploads/' + eventurl,
		'buttonText': 'Set Logo',
		'fileDesc'	: 'Image Files (JPG, PNG, GIF)',
		'fileExt'	: '*.jpg;*.png;*.gif',
		'sizeLimit'	: 3145728,
		'scriptData': {'type': 'uploadlogo'},
		onComplete	: function(event, queueID, fileObj, response, data) {
			$("#dialog-sponsor .logo img").attr("src", response);
			$("#dialog-sponsor .logo object").hide();
		}
	});

	var tool = '<div class="tool"><a href="#" title="Move" class="move"></a><a href="#" title="Edit" class="edit"></a><a href="#" title="Delete" class="del"></a></div>';
	$(".speaker, #spons li").append(tool);
	
	$("#speakers").sortable({ opacity: 0.6, handle: '.move', cursor: "n-resize", tolerance: 'pointer' });
	$("#spons").sortable({ opacity: 0.6, handle: '.move', cursor: "n-resize", tolerance: 'pointer' });
	
	$("#dialog-message").dialog({
		width: 500,
		height:130,
		modal: true,
		resizable: false,
		autoOpen: false
	});
	
	cropImageDialog();
	addSpeakerDialog();
	$("#addspeaker").click(function() { 
		editSpeaker = null;
		$('#dialog-speaker').dialog("open");
	});
	
	addSponsorDialog();
	$("#addsponsor").click(function() { 
		editSponsor = null;
		$('#dialog-sponsor').dialog("open");
	});
	
	$("#speakers .del").click(function() { $(this).parent().parent().fadeOut(500, function() { $(this).remove(); }) });
	$("#speakers .edit").click(function() {
		editSpeaker = $(this).parent().parent();
		$("#dialog-speaker .photo img").attr("src", $(this).parent().parent().find(".photo").attr("src"));
		$('#dialog-speaker #name').val($(this).parent().parent().find(".name").html());
		$('#dialog-speaker #position').val($(this).parent().parent().find(".position").html());
		$('#dialog-speaker #company').val($(this).parent().parent().find(".company").html());
		$('#dialog-speaker').dialog("open");
		return false;
	});
	
	$("#spons .del").click(function() { $(this).parent().parent().fadeOut(500, function() { $(this).remove(); }); return false; });
	$("#spons .edit").click(function() {
		editSponsor = $(this).parent().parent();
		$("#dialog-sponsor .logo img").attr("src", $(this).parent().parent().find("img").attr("src"));
		$('#dialog-sponsor #sptype').val($(this).parent().parent().find("span").html());
		//$("#dialog-speaker .photo object").hide();
		$('#dialog-sponsor').dialog("open");
		return false;
	});

	$("#detailtoggler").click(function() {
         $('#detail').slideToggle("fast");
		$(".deletestatus").hide();
		if($(this).html() == "hide event details") $('#detailtoggler').html("edit event details");
		else { $('.buttons').show().next().hide(); $(this).html("hide event details"); }

		if(typeof(editablecontent) != 'undefined') { if(editablecontent == false) {
		editablecontent = true;
		var edit_url = "http://maginal.com/edit";
		var edit_settings = { type : 'text', data : '', submit : 'save', cancel : 'cancel', placeholder : '[<small>click to add</small>]', indicator : 'saving...' };
		var ed_type = {data : type_data, type : 'select'};
		var ed_cat = {data : cat_data, type : 'select'};
		var ed_lic = {data : licence_data, type : 'select'};
		var ed_priv = {data : privacy_data, type : 'select'};
		var ed_comm = {data : comments_data, type : 'select'};
		var ed_emb = {data : embedding_data, type : 'select'};
	
		$(".editable").editable(edit_url, edit_settings);
		$(".editable_type").editable(edit_url, $.extend(edit_settings, ed_type));
		$(".editable_cat").editable(edit_url, $.extend(edit_settings, ed_cat));
		$(".editable_licence").editable(edit_url, $.extend(edit_settings, ed_lic));
		$(".editable_privacy").editable(edit_url, $.extend(edit_settings, ed_priv));
		$(".editable_comments").editable(edit_url, $.extend(edit_settings, ed_comm));
		$(".editable_embedding").editable(edit_url, $.extend(edit_settings, ed_emb));
		
		$("#confirmdelete").click(function() {
			$.ajax({
				'type'     : 'POST',
				'url'      : edit_url,
				'dataType' : 'json',
				'data'     : { mag_id : maginal_id, action : 'delete', pass : $("#confirmpassword").val() },
				'error'    : function(json) { $(".deletestatus").html(json.responseText); },
				'success'  : function(json) {
					if(json.ok) { $(".confirmdelete").html(json.msg); }
					else { $(".deletestatus").html(json.msg).slideToggle('fast'); }
				}
			});
		});
		}}
    }).next().css('display', 'none');
	
	// date picker
	var now1 = new Date();
	//now1.addDays(4);
	var now2 = new Date();
	$('#widgetCalendar').DatePicker({
		flat: true,
		format: 'd B, Y',
		date: [new Date(now1), new Date(now2)],
		calendars: 2,
		mode: 'range',
		starts: 1,
		onChange: function(formated) {
			$('#eventdate').get(0).innerHTML = formated.join(' &divide; ');
			//$("#dateRange").val(formated.join('#'));
		}
	});
	var state = false;
	$('#widgetCalendar').hide();
	$('#eventdate').bind('click', function(){
		$('#widgetCalendar').stop().toggle();//.animate({height: state ? 0 : $('#widgetCalendar div.datepicker').get(0).offsetHeight}, 500);
		state = !state;
		return false;
	});
	
	var editor = CKEDITOR.replace( 'editor', {
		width	: 770,
		height	: 500,
		toolbar	: 'Full',

		toolbar_Full: [
			['Source','-','Preview'],
			['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print'],
			['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
			'/',
			['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],
			['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'],
			['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
			['Link','Unlink','Anchor'],
			['Image','Table','HorizontalRule',,'SpecialChar',],
			'/',
			['Styles','Format','Font','FontSize'],
			['TextColor','BGColor'],
			['Maximize', 'ShowBlocks']
		],
		
		filebrowserBrowseUrl 		: '/scripts/ckfilemanager/index.html?url='+eventurl,
        filebrowserImageBrowseUrl 	: '/scripts/ckfilemanager/index.html?Type=Images&url='+eventurl,
        filebrowserFlashBrowseUrl 	: '/scripts/ckfilemanager/index.html?Type=Flash',
        filebrowserUploadUrl 		: '/scripts/ckfilemanager/connector/php/filemanager.php?command=QuickUpload&type=Files',
        filebrowserImageUploadUrl 	: '/scripts/ckfilemanager/connector/php/filemanager.php?command=QuickUpload&type=Images',
        filebrowserFlashUploadUrl 	: '/scripts/ckfilemanager/connector/php/filemanager.php?command=QuickUpload&type=Flash',
		/*
		filebrowserBrowseUrl 		: '/scripts/ckfinder/ckfinder.html',
        filebrowserImageBrowseUrl 	: '/scripts/ckfinder/ckfinder.html?Type=Images',
        filebrowserFlashBrowseUrl 	: '/scripts/ckfinder/ckfinder.html?Type=Flash',
        filebrowserUploadUrl 		: '/scripts/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
        filebrowserImageUploadUrl 	: '/scripts/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
        filebrowserFlashUploadUrl 	: '/scripts/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash',
		*/

		/* Style sheet for the contents */
		contentsCss : '/scripts/ckeditor/output_xhtml.css',
 
		/* Font face */
		// List of fonts available in the toolbar combo. Each font definition is
		// separated by a semi-colon (;). We are using class names here, so each font
		// is defined by {Combo Label}/{Class Name}.
		font_names : 'Lucida Grande/FontLucida;Courier New/FontCourier;Times New Roman/FontTimes',
		font_style : {
			element		: 'span',
			attributes	: { 'class' : '#(family)' },
			overrides	: [ { element : 'span', attributes : { 'class' : /^Font(?:Lucida|Courier|Times)$/ } } ]
		},
 
		/* Font colors. */
		colorButton_enableMore : false,
		colorButton_colors : 'FontColor2/EBF3F0,FontColor3/F00',
		colorButton_foreStyle : {
			element : 'span',
			attributes : { 'class' : '#(color)' },
			overrides	: [ { element : 'span', attributes : { 'class' : /^FontColor(?:2|3)$/ } } ]
		},

		colorButton_backStyle : {
			element : 'span',
			attributes : { 'class' : '#(color)BG' },
			overrides	: [ { element : 'span', attributes : { 'class' : /^FontColor(?:2|3)BG$/ } } ]
		},

		/* Indentation. */
		indentClasses : ['Indent1', 'Indent2', 'Indent3'],
 
		/* Paragraph justification. */
		justifyClasses : [ 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyFull' ],
 
		/* Styles combo. */
		stylesSet : [
			{ name : 'Strong Emphasis', element : 'strong' },
			{ name : 'Emphasis', element : 'em' },
 
			{ name : 'Computer Code', element : 'code' },
			{ name : 'Sample Text', element : 'samp' },
			{ name : 'Variable', element : 'var' },
 
			{ name : 'Deleted Text', element : 'del' },
			{ name : 'Inserted Text', element : 'ins' },
 
			{ name : 'Cited Work', element : 'cite' },
			{ name : 'Inline Quotation', element : 'q' }
		]
	});
	//CKFinder.setupCKEditor( editor, '/scripts/ckfinder/' ) ;
	//setConfirmUnload(true); // Prevent accidental navigation away
}
function setConfirmUnload(on) {
	window.onbeforeunload = (on) ? unloadMessage : null;
}
function unloadMessage() {
	return 'You have entered new data on this page.\nIf you navigate away from this page without first saving your data, the changes will be lost.';
}

function generateNav() {
	$("#sideNav ul").html("");
	$("#sideNav ul").append('<li><a href="#header"><strong>Top &uarr;</strong></a></li>');
	$("#morecontent h2").each(function() {
		id = "sec_" + $(this).text().replace(/[^a-zA-Z0-9]+/g,'').toLowerCase();
		$(this).attr("id", id);
		$("#sideNav ul").append('<li><a href="#' + id + '">' + $(this).html() + ' &#187;</a></li>');
	});
}

$(document).ready(function() {
	//Get size of images, how many there are, then determin the size of the image reel.
	var imageWidth = $("#partners div span").width();
	var imageSum = $("#partners div span").size();
	var imageReelWidth = imageWidth * imageSum;
	//Adjust the image reel to its new size
	$("#partners div").css({'width' : imageReelWidth});
	
	//Paging + Slider Function
	rotateSponsors = function(){
		$("#partners div span").removeClass('active'); //Remove all active class
		$active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)
		//Slider Animation
		$("#partners div").animate({ left: - ($active.index() * imageWidth) }, 500 );
	}; 
	//Rotation + Timing Event
	rotateSwitch = function(){		
		play = setInterval(function(){ //Set timer
			$active = $('#partners div span.active').next();
			if ( $active.length === 0) { //If paging reaches the end...
				$active = $('#partners div span:first'); //go back to first
			}
			rotateSponsors(); //Trigger the paging and slider function
		}, 3000); //Timer speed in milliseconds (10 seconds)
	};
	rotateSwitch(); //Run function on launch
	
	//On Hover
	$("#partners div span").hover(function() {
		clearInterval(play); //Stop the rotation
	}, function() {
		rotateSwitch(); //Resume rotation
	});	
	
	var $sideNav = $("#sideNav");
	if($sideNav) var sideNavTop = $sideNav.offset();
	$(window).scroll(function() {
		if(sideNavTop) {
			var topOffset = $(window).scrollTop() - sideNavTop.top;
			if (topOffset < 0) topOffset = 0;
			if (topOffset != parseInt($sideNav.css('top'))) 
				$sideNav.stop().animate({"top": topOffset + 'px'}, 1000, 'easeOutExpo');
		}
	});
	
	//TableToolsInit.sSwfPath = "/swf/ZeroClipboard.swf";
	$('#registrations').dataTable({
		//"sDom": 'T<"clear">lfrtip',
		"bJQueryUI": true,
		//"sPaginationType": "scrolling",
		"bLengthChange": false,
		"iDisplayLength": 10
	});
	
	if($('#mid').length) {
		$('.mid-item').hover(
			function(){
				$(this).find('.top-border').stop().animate({"height": '5px'}, 200);//.show(200);
				$(this).find('h3').stop().animate({"marginTop": '110px', "opacity": '0.7'}, 200);//.css('padding-top','6px');
				$(this).find('.picture-cover').stop().animate({"opacity": '0'}, 200);//.fadeTo(0, 0.15);
			}, function(){
				$(this).find('.top-border').stop().animate({"height": '0px'}, 200);//.hide(200);
				$(this).find('h3').stop().animate({"marginTop": '102px', "opacity": '0.9'}, 200);//.css('padding-top','0');
				$(this).find('.picture-cover').stop().animate({"opacity": '0.2'}, 200);//.fadeTo(0, 0.4);
			}
		);
	}
	if($('#event #title').length) {
		$('#mid-inner').hover(
			function(){
				$(this).find('.top-border').stop().animate({"height": '5px'}, 200);//.show(200);
				$(this).find('h3').stop().animate({"marginTop": '30px', "opacity": '0.7'}, 200);//.css('padding-top','6px');
				$(this).find('.picture-cover').stop().animate({"opacity": '0'}, 200);//.fadeTo(0, 0.15);
			}, function(){
				$(this).find('.top-border').stop().animate({"height": '0px'}, 200);//.hide(200);
				$(this).find('h3').stop().animate({"marginTop": '20px', "opacity": '0.9'}, 200);//.css('padding-top','0');
				$(this).find('.picture-cover').stop().animate({"opacity": '0.6'}, 200);//.fadeTo(0, 0.4);
			}
		);
	}
		
	$('#menu li a, #logo').append('<span class="hover"></span>');
	$('#menu li a, #logo').hover(function() {
		$('.hover', this).stop().animate({'opacity': 1}, 700, 'easeOutSine')
	},function() {$('.hover', this).stop().animate({'opacity': 0}, 500, 'easeOutExpo')});
	
	var loginOpened = false;
	var loginTimeout;
	$('#menulogin').click(function(event) {
		event.preventDefault();
		if(loginOpened = !loginOpened) {
			$('#loginbox').stop().animate({'left': '412px'}, 700, 'easeOutSine');
			$('#menulogin').css({'backgroundPosition': '-550px -100px'});
			$('#menulogin .hover').css({'backgroundPosition': '-550px -100px'});
			setTimeout(function(){$("#username").focus()},1000);
			loginTimeout = setTimeout(function(){$('#loginbox #close').trigger('click');}, 20000);
		} else {
			$('#loginbox').stop().animate({'left': '1000px'}, 500, 'easeOutSine');
			$('#menulogin').css({'backgroundPosition': '-440px 0px'});
			$('#menulogin .hover').css({'backgroundPosition': '-440px -100px'});
			clearTimeout(loginTimeout);
		}
	});
	$('#loginbox #close').click(function(event) {
		event.preventDefault();
		$('#loginbox').stop().animate({'left': '1000px'}, 500, 'easeOutSine');
		$('#menulogin').css({'backgroundPosition': '-440px 0px'});
		$('#menulogin .hover').css({'backgroundPosition': '-440px -100px', 'opacity': '1'});
		$('#menulogin .hover').stop().animate({'opacity': 0}, 500, 'easeOutExpo');
		loginOpened = false;
		clearTimeout(loginTimeout);
	});
	
	generateNav();
	//FLIR.init( { path: '/scripts/facelift-2.0b3-B/' } );
	//FLIR.replace('.slide h1', new FLIRStyle({ mode:'wrap' }) );

	lastBlock = $("#current");
	count = $(".slide").length - 1;
	minWidth = 51;
	maxWidth = 960 - (minWidth * count);
	lastBlock.css({width: maxWidth + "px"});
	$(".slide .container").css({width:maxWidth - 91 + "px"});
	$(".slide").click(function(){
    	$(lastBlock).animate({width: minWidth + "px"}, { queue:false, duration:800 });
		$(this).animate({width: maxWidth + "px"}, { queue:false, duration:800});
		lastBlock = this;
		
		scrollerPos = scrollerWidth * $(".slide").index(this);
		$("#slider-tray .slider-pos").animate({marginLeft:scrollerPos + "%"}, { queue:false, duration:800});

	});
	$('#events .slide .container').jScrollPane({showArrows:false/*, wheelSpeed:170*/});
	
	scrollerWidth = 100/$(".slide").length;
	$("#slider-tray .slider-pos").css({width:scrollerWidth + "%"});
	
	
	if(window.location.hash == "#about" || window.location.hash == "#careers" || window.location.hash == "#contact") {
		$("#section .c").children().fadeOut("fast", function() { $(window.location.hash).fadeIn("slow"); } );
		$("html,body").scrollTop();
	}
	$("#menuabout, #menucareers, #menucontact").bind("click focus", function(event) {
		//event.preventDefault();
		var next = $(this).attr("href");
		//window.location.hash = next;
		if(window.location.pathname != "/") document.location.href = "/" + next;
		//else 
		$("#section .c .sec-holder:visible").fadeOut("fast", function() { $(this).hide(); $(next).fadeIn("fast"); } );
		
		//$(this).mouseup(function(){return false});
		return false;
	});
	
    $("#counter div").mouseout(function() {
        $(".remaining").stop().animate({"paddingLeft": "0px"}, 300);
    }).mouseover(function() {
        $(".remaining").stop().animate({"paddingLeft": "140px"}, 300);
    });
	
	$("#registrationForm").validationEngine({
		promptPosition	: "topRight",
		success 		: false,
		failure 		: function() {}
	});
	$("#eventForm").validationEngine({
		promptPosition	: "topRight",
		success 		: false,
		failure 		: function() {}
	});
	$("#neweventForm").validationEngine({
		promptPosition	: "topLeft",
		success 		: false,
		failure 		: function() {}
	});

	// date picker
	var now1 = new Date();
	//now1.addDays(4);
	var now2 = new Date()
	$('#widgetCalendar').DatePicker({
		flat: true,
		format: 'd B, Y',
		date: [new Date(now1), new Date(now2)],
		calendars: 2,
		mode: 'range',
		starts: 1,
		onChange: function(formated) {
			$('#widgetField').get(0).innerHTML = formated.join(' &divide; ');
			$("#dateRange").val(formated.join('#'));
		}
	});
	var state = false;
	$('#widgetCalendar').hide();
	$('#widgetField').bind('click', function(){
		$('#widgetCalendar').stop().toggle();//.animate({height: state ? 0 : $('#widgetCalendar div.datepicker').get(0).offsetHeight}, 500);
		state = !state;
		return false;
	});
});

$.fn.switchCats = function() {
    var currentCat = "allcat";
    
	return this.each(function(){
		$(this).find("li:not(.current)").each(function(z) {
			$(this).bind("click", function() { 
				var tab = $(this)[0].id;
                var top = $('#' + tab).position().top;
                
                if(tab == currentCat) return;
                currentCat = tab;
                
                $("#modules-cat .current").animate({top: top - 8  }, 300 );
                $("#modules-cat span").animate({opacity: '.65'}, 300 );
                $("#modules-cat a").css("cursor", "pointer");
                $('#' + tab + " a").css("cursor", "default");
                $('#' + tab + " span").animate({opacity: '1.0'}, 300 );
                
                top = $('#modules-scroller-' + currentCat).position().top;
                $("#modules-scroller").animate({top: -top + 20  }, 300 );
			});
		});
    });
};
  
jQuery(window).bind("load", function() {
    //$("#modules-cat .current").animate({top: "-1px"  }, { "duration": 300 } );
    //$("#modules-cat").switchCats();
    
	//$("#modules").switchTabs();
	//$("#more_related").switchTab();
	
	// submenu
	$("#menuevents, #submenu-events").bind("mouseover",
		function(event){
			var element=event.target;
			$('#submenu-events').show();
			$('#menuevents').addClass('now');
			return false;
	});
	$("body").bind("mouseover",
		function(event){
			if(event.target.id!='submenu-events' && event.target.id!='menuevents' && !$(event.target).hasClass('menuitemevents')){
				$('#submenu-events').hide();
				$('#menuevents').removeClass('now');
			}
		}
	);
	/*
	$("#types").bind("click",
		function(event){
			$("#types").toggleClass("open");
			$('ul.types').toggle();
			$('ul.types').bind("click", 
				function(event){
					$('ul.types').hide();
					$("#types").removeClass("open");
					$("#types").html($("#" + event.target.id).html());
					return false;
				}
			);
			return false;
		}
	);*/
	
	$(".radio-image").bind("click",
		function(event){
			$(event.target).addClass("selected").parent().parent().find("label").not($(event.target)).removeClass("selected");
		}
	);
});

/* Copyright (c) 2006 Kelvin Luck (kelvin AT kelvinluck DOT com || http://www.kelvinluck.com)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * See http://kelvinluck.com/assets/jquery/jScrollPane/ */
(function(A){A.jScrollPane={active:[]};A.fn.jScrollPane=function(C){C=A.extend({},A.fn.jScrollPane.defaults,C);var B=function(){return false};return this.each(function(){var O=A(this);O.css("overflow","hidden");var X=this;if(A(this).parent().is(".jScrollPaneContainer")){var Ac=C.maintainPosition?O.position().top:0;var L=A(this).parent();var d=L.innerWidth();var Ad=L.outerHeight();var M=Ad;A(">.jScrollPaneTrack, >.jScrollArrowUp, >.jScrollArrowDown",L).remove();O.css({top:0})}else{var Ac=0;this.originalPadding=O.css("paddingTop")+" "+O.css("paddingRight")+" "+O.css("paddingBottom")+" "+O.css("paddingLeft");this.originalSidePaddingTotal=(parseInt(O.css("paddingLeft"))||0)+(parseInt(O.css("paddingRight"))||0);var d=O.innerWidth();var Ad=O.innerHeight();var M=Ad;O.wrap(A("<div></div>").attr({className:"jScrollPaneContainer"}).css({height:Ad+"px",width:d+"px"}));A(document).bind("emchange",function(Ae,Af,p){O.jScrollPane(C)})}if(C.reinitialiseOnImageLoad){var N=A.data(X,"jScrollPaneImagesToLoad")||A("img",O);var G=[];if(N.length){N.each(function(p,Ae){A(this).bind("load",function(){if(A.inArray(p,G)==-1){G.push(Ae);N=A.grep(N,function(Ag,Af){return Ag!=Ae});A.data(X,"jScrollPaneImagesToLoad",N);C.reinitialiseOnImageLoad=false;O.jScrollPane(C)}}).each(function(Af,Ag){if(this.complete||this.complete===undefined){this.src=this.src}})})}}var o=this.originalSidePaddingTotal;var l={height:"auto",width:d-C.scrollbarWidth-C.scrollbarMargin-o+"px"};if(C.scrollbarOnLeft){l.paddingLeft=C.scrollbarMargin+C.scrollbarWidth+"px"}else{l.paddingRight=C.scrollbarMargin+"px"}O.css(l);var m=O.outerHeight();var i=Ad/m;if(i<0.99){var H=O.parent();H.append(A("<div></div>").attr({className:"jScrollPaneTrack"}).css({width:C.scrollbarWidth+"px"}).append(A("<div></div>").attr({className:"jScrollPaneDrag"}).css({width:C.scrollbarWidth+"px"}).append(A("<div></div>").attr({className:"jScrollPaneDragTop"}).css({width:C.scrollbarWidth+"px"}),A("<div></div>").attr({className:"jScrollPaneDragBottom"}).css({width:C.scrollbarWidth+"px"}))));var z=A(">.jScrollPaneTrack",H);var P=A(">.jScrollPaneTrack .jScrollPaneDrag",H);if(C.showArrows){var g;var Ab;var S;var r;var j=function(){if(r>4||r%4==0){y(u+Ab*b)}r++};var K=function(p){A("html").unbind("mouseup",K);g.removeClass("jScrollActiveArrowButton");clearInterval(S)};var Z=function(){A("html").bind("mouseup",K);g.addClass("jScrollActiveArrowButton");r=0;j();S=setInterval(j,100)};H.append(A("<a></a>").attr({href:"javascript:;",className:"jScrollArrowUp"}).css({width:C.scrollbarWidth+"px"}).html("Scroll up").bind("mousedown",function(){g=A(this);Ab=-1;Z();this.blur();return false}).bind("click",B),A("<a></a>").attr({href:"javascript:;",className:"jScrollArrowDown"}).css({width:C.scrollbarWidth+"px"}).html("Scroll down").bind("mousedown",function(){g=A(this);Ab=1;Z();this.blur();return false}).bind("click",B));var Q=A(">.jScrollArrowUp",H);var J=A(">.jScrollArrowDown",H);if(C.arrowSize){M=Ad-C.arrowSize-C.arrowSize;z.css({height:M+"px",top:C.arrowSize+"px"})}else{var s=Q.height();C.arrowSize=s;M=Ad-s-J.height();z.css({height:M+"px",top:s+"px"})}}var w=A(this).css({position:"absolute",overflow:"visible"});var D;var Y;var b;var u=0;var V=i*Ad/2;var a=function(Ae,Ag){var Af=Ag=="X"?"Left":"Top";return Ae["page"+Ag]||(Ae["client"+Ag]+(document.documentElement["scroll"+Af]||document.body["scroll"+Af]))||0};var f=function(){return false};var v=function(){n();D=P.offset(false);D.top-=u;Y=M-P[0].offsetHeight;b=2*C.wheelSpeed*Y/m};var E=function(p){v();V=a(p,"Y")-u-D.top;A("html").bind("mouseup",T).bind("mousemove",h);if(A.browser.msie){A("html").bind("dragstart",f).bind("selectstart",f)}return false};var T=function(){A("html").unbind("mouseup",T).unbind("mousemove",h);V=i*Ad/2;if(A.browser.msie){A("html").unbind("dragstart",f).unbind("selectstart",f)}};var y=function(Ae){Ae=Ae<0?0:(Ae>Y?Y:Ae);u=Ae;P.css({top:Ae+"px"});var Af=Ae/Y;w.css({top:((Ad-m)*Af)+"px"});O.trigger("scroll");if(C.showArrows){Q[Ae==0?"addClass":"removeClass"]("disabled");J[Ae==Y?"addClass":"removeClass"]("disabled")}};var h=function(p){y(a(p,"Y")-D.top-V)};var q=Math.max(Math.min(i*(Ad-C.arrowSize*2),C.dragMaxHeight),C.dragMinHeight);P.css({height:q+"px"}).bind("mousedown",E);var k;var R;var I;var t=function(){if(R>8||R%4==0){y((u-((u-I)/2)))}R++};var Aa=function(){clearInterval(k);A("html").unbind("mouseup",Aa).unbind("mousemove",e)};var e=function(p){I=a(p,"Y")-D.top-V};var U=function(p){v();e(p);R=0;A("html").bind("mouseup",Aa).bind("mousemove",e);k=setInterval(t,100);t()};z.bind("mousedown",U);H.bind("mousewheel",function(Ae,Ag){v();n();var Af=u;y(u-Ag*b);var p=Af!=u;return !p});var F;var W;function c(){var p=(F-u)/C.animateStep;if(p>1||p<-1){y(u+p)}else{y(F);n()}}var n=function(){if(W){clearInterval(W);delete F}};var x=function(Af,p){if(typeof Af=="string"){$e=A(Af,O);if(!$e.length){return}Af=$e.offset().top-O.offset().top}H.scrollTop(0);n();var Ae=-Af/(Ad-m)*Y;if(p||!C.animateTo){y(Ae)}else{F=Ae;W=setInterval(c,C.animateInterval)}};O[0].scrollTo=x;O[0].scrollBy=function(Ae){var p=-parseInt(w.css("top"))||0;x(p+Ae)};v();x(-Ac,true);A("*",this).bind("focus",function(Ah){var Ag=A(this);var Aj=0;while(Ag[0]!=O[0]){Aj+=Ag.position().top;Ag=Ag.offsetParent()}var p=-parseInt(w.css("top"))||0;var Ai=p+Ad;var Af=Aj>p&&Aj<Ai;if(!Af){var Ae=Aj-C.scrollbarMargin;if(Aj>p){Ae+=A(this).height()+15+C.scrollbarMargin-Ad}x(Ae)}});if(location.hash){x(location.hash)}A(document).bind("click",function(Ae){$target=A(Ae.target);if($target.is("a")){var p=$target.attr("href");if(p.substr(0,1)=="#"){x(p)}}});A.jScrollPane.active.push(O[0])}else{O.css({height:Ad+"px",width:d-this.originalSidePaddingTotal+"px",padding:this.originalPadding});O.parent().unbind("mousewheel")}})};A.fn.jScrollPane.defaults={scrollbarWidth:10,scrollbarMargin:5,wheelSpeed:18,showArrows:false,arrowSize:0,animateTo:false,dragMinHeight:1,dragMaxHeight:99999,animateInterval:100,animateStep:3,maintainPosition:true,scrollbarOnLeft:false,reinitialiseOnImageLoad:false};A(window).bind("unload",function(){var C=A.jScrollPane.active;for(var B=0;B<C.length;B++){C[B].scrollTo=C[B].scrollBy=null}})})(jQuery);
/* Copyright (c) 2009 Brandon Aaron (http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
 * Version: 3.0.2 */
(function(c){var a=["DOMMouseScroll","mousewheel"];c.event.special.mousewheel={setup:function(){if(this.addEventListener){for(var d=a.length;d;){this.addEventListener(a[--d],b,false)}}else{this.onmousewheel=b}},teardown:function(){if(this.removeEventListener){for(var d=a.length;d;){this.removeEventListener(a[--d],b,false)}}else{this.onmousewheel=null}}};c.fn.extend({mousewheel:function(d){return d?this.bind("mousewheel",d):this.trigger("mousewheel")},unmousewheel:function(d){return this.unbind("mousewheel",d)}});function b(f){var d=[].slice.call(arguments,1),g=0,e=true;f=c.event.fix(f||window.event);f.type="mousewheel";if(f.wheelDelta){g=f.wheelDelta/120}if(f.detail){g=-f.detail/3}d.unshift(f,g);return c.event.handle.apply(this,d)}})(jQuery);
