/**
 * Zazar - Adminisation script
 * Version: 1.4.6
 * 
 * (c) 2011 Zazar Ltd
 *
 **/


$(function() {

	// Define any tooltips
	$(".tt_button").tooltip({
		opacity: 0.98
	});
	
	// Set default form field
	$(".default").focus();

	// Set switches
	$(".switch").zswitch();
	
	// Define dialogs
	$("a[rel]").overlay({
		mask: {
			color: '#000',
			loadSpeed: 200,
			opacity: 0.5
		},
		closeOnClick: true,
		onBeforeLoad: function() {
			
			var href = this.getTrigger().attr("href");

			// Help dialog
			var content = this.getOverlay().find(".zzhp_p");
			if (content != null) { content.load(this.getTrigger().attr("href")); }

			// Site map dialog
			var content = this.getOverlay().find(".zzsm_p");
			if (content != null) { content.load(this.getTrigger().attr("href")); }

			// Template dialog
			var content = this.getOverlay().find(".zztp_p");
			if (content != null) { dlgTemplate(content, href); }

			// Site dialog
			var content = this.getOverlay().find(".zzst_p");
			if (content != null) {
				content.load(this.getTrigger().attr("href"), function() {

					$(".zzst_pb .zpb").unbind('click');
					$(".zzst_pb .zpb").click(function(e) {
						e.preventDefault();
						$("#SETUP_SITE_NO").attr("value",$(this).attr("rel"));
						$("#SETUP_SITE_NO_NAME").attr("value",$(this).attr("title"));
						$("#zzst .close").click();
					});
				});
			}

			// Form dialog
			var content = this.getOverlay().find(".zzfm_p");
			if (content != null) {
				content.load(this.getTrigger().attr("href"), function() {

					$(".zzfm_pb .zpb").unbind('click');
					$(".zzfm_pb .zpb").click(function(e) {
						e.preventDefault();
						$("#FORM_TYPE").attr("value",$(this).attr("rel"));
						$("#FORM_NAME").attr("value",$(this).attr("title"));
						$("#zzfm .close").click();
					});
				});
			}

			// Component dialog
			var content = this.getOverlay().find(".zzcm_p");
			if (content != null) {
				content.load(this.getTrigger().attr("href"), function() {});
			}

			// Feed dialog
			var content = this.getOverlay().find(".zzrss_p");
			if (content != null) {
				content.load(this.getTrigger().attr("href"), function() {
					
					$(".zzrss_pb .zpb").unbind('click');
					$(".zzrss_pb .zpb").click(function(e) {
						e.preventDefault();
						$("#RSS_URL").attr("value",$(this).attr("href"));
						$("#zzrss .close").click();
					});
				});
			}

			// Icons dialog
			var content = this.getOverlay().find(".zzico_p");
			if (content != null) {
				content.load(this.getTrigger().attr("href"), function() {
					
					$(".zzico_pb").unbind('click');
					$(".zzico_pb").click(function(e) {
						e.preventDefault();
						$("#SITE_ICON").attr("src",$(this).attr("href"));
						$("#SITE_ICON_FILE").attr("value",$(this).attr("rel"));
						$("#zzico .close").click();
					});
				});
			}

			// Avatars dialog
			var content = this.getOverlay().find(".zzava_p");
			if (content != null) {
				content.load(this.getTrigger().attr("href"), function() {
					
					$(".zzava_pb").unbind('click');
					$(".zzava_pb").click(function(e) {
						e.preventDefault();
						$("#COMMENTS_AVATAR").attr("src",$(this).attr("href"));
						$("#COMMENTS_AVATAR_FILE").attr("value",$(this).attr("rel"));
						$("#zzava .close").click();
					});
				});
			}

			// Add category dialog
			var content = this.getOverlay().find(".zzcc_p");
			if (content != null) {

				$("#zdlgcc_frm").submit(function(e) {
					e.preventDefault();
				});
				
				$("#zzcc .zdlginfo").html('&nbsp;');
				$("#zzcc .zpb").attr('disabled','').removeClass('zpbd');
				$("#zdlgcc_df1").attr("value","");

				$("#zdlgcc_pb1").unbind('click');					
				$("#zdlgcc_pb1").click(function(e) {
					e.preventDefault();

					var ret = $("#zzcc .zdlginfo").html('<img src="/_media/images/loader.gif" width="16" height="16" />');
					var button = $("#zzcc .zpb").attr('disabled','disabled').addClass('zpbd');
					var field = $("#zdlgcc_df1");

					var param = { a: "i", p1: field.val() }

					$.ajax({  
						type: "POST",  
						url: "/dlgcategory.asp",  
						data: param,
						dataType: "xml",  
						success: function(data) {
							
							button.attr('disabled','').removeClass('zpbd');
							
							var errno = $(data).find("error").text();
							if (errno != '0') {
								var errmsg = $(data).find("message").text();
								ret.html(errmsg);
							} else {
								var id = $(data).find("id").text();
								var name = $(data).find("name").text();
								$("#CONTENT_CATEGORY_ID").append('<option value="'+ id +'">'+ name +'</option>');
								$("#CONTENT_CATEGORY_ID option:last").attr('selected','selected');
								$("#zzcc .close").click();
							}
						},
						error: function(err) {
						}  
					}); 
					
				});
			}

			// Delete category dialog
			var content = this.getOverlay().find(".zzcd_p");
			if (content != null) {

				$("#zdlgcd_frm").submit(function(e) {
					e.preventDefault();
				});

				$("#zzcd .zdlginfo").html('&nbsp;');
				var msg = $("#zzcd p").html('&nbsp;');
				var id = $("#CONTENT_CATEGORY_ID option:selected").val();

				if (id == 0) {
					msg.html('This is the default category and cannot be removed');
					content.find('.zpb.action').hide();
				} else {

					var name = $("#CONTENT_CATEGORY_ID option:selected").text();
					var msg = $("#zzcd p").html("Are you sure you wish to delete the category<br />'"+ name +"'?");
					content.find('.zpb.action').show();

					var ret = $("#zzcd .zdlginfo").html('&nbsp;');
					var name = $("#CONTENT_CATEGORY_ID option:selected").text();
					var button = $("#zzcd .zpb").attr('disabled','').removeClass('zpbd');

					$("#zdlgcd_pb1").unbind('click');					
					$("#zdlgcd_pb1").click(function(e) {
						e.preventDefault();

						button.attr('disabled','disabled').addClass('zpbd');
						ret.html('<img src="/_media/images/loader.gif" width="16" height="16" />');

						var param = { a: "d", p1: id }

						$.ajax({  
							type: "POST",  
							url: "/dlgcategory.asp",  
							data: param,
							dataType: "xml",  
							success: function(data) {
							
								$("#zzcd .zpb").attr('disabled','').removeClass('zpbd');
							
								var errno = $(data).find("error").text();
								if (errno != '0') {
									var errmsg = $(data).find("message").text();
									ret.html(errmsg);
								} else {
									$("#CONTENT_CATEGORY_ID option[value="+ id +"]").remove();
									$("#zzcd .close").click();
								}
							},
							error: function(err) {
							}  
						});
					});
				}
			}

			// Page dialog
			var content = this.getOverlay().find(".zzps_p");
			if (content != null) {
				content.load(this.getTrigger().attr("href"), function() {

					$(".zzps_link").unbind('click');
					$(".zzps_link").click(function(e) {
						e.preventDefault();
						$("#PARENT_ID").attr("value",$(this).attr("rel"));
						$("#PARENT_NAME").attr("value",$(this).attr("title"));
						$("#zzps .close").click();
					});
					
					$(".zzps_url").unbind('click');
					$(".zzps_url").click(function(e) {
						e.preventDefault();
						$("#PARENT_URL").attr("value",$(this).attr("rel"));
						$("#zzps .close").click();
					});
				});
			}
			
			// Delete dialog
			var content = this.getOverlay().find("#zdlg_t");
			if (content != null) { content.text(this.getTrigger().attr("title")); }
			var content = this.getOverlay().find("form");
			if (content != null) { content.attr("action",this.getTrigger().attr("href")); }
		},
		onLoad: function() {

			// Set default focus if required
			this.getOverlay().find('.default').focus();
		}
	});

	function dlgTemplate(content, href) {

		if (content != null) {

			content.load(href, function() {
				
				$(".zztp_sel").unbind('click');
				$(".zztp_sel").click(function(e) {
					if ($(this).attr("rel") != '') {
						e.preventDefault();
						$("#SETUP_TEMPLATE_ID").attr("value",$(this).attr("rel"));
						$("#SETUP_TEMPLATE_PREVIEW").attr("src",$(this).attr("rev"));
						$("#zztp .close").click();
					}
				});

				$(".zztp_link").unbind('click');	
				$(".zztp_link").click(function(e) {
					e.preventDefault();
					var content = $(".zztp_p").find("#zztp_col2");
					dlgTemplateLinks(content,$(this).attr("href"),$(this).attr("rel"));
				});
			});
		}
	}

	function dlgTemplateLinks(content, href, rel) {

		if (content != null) {

			$.get(href, function(data) {

				content.find("#zztp_lm").remove();

				if (rel != '') {
					content.find("#zztp_ul").append(data);
				} else {
					content.find("#zztp_ul").replaceWith(data);
				}

				$(".zztp_sel").unbind('click');
				$(".zztp_sel").click(function(e) {
					if ($(this).attr("rel") != '') {
						e.preventDefault();
						$("#SETUP_TEMPLATE_ID").attr("value",$(this).attr("rel"));
						$("#SETUP_TEMPLATE_PREVIEW").attr("src",$(this).attr("rev"));
						$("#zztp .close").click();
					}
				});

				$(".zztp_link").unbind('click');	
				$(".zztp_link").click(function(e) {
					e.preventDefault();
					var content = $(".zztp_p").find("#zztp_col2");
					dlgTemplateLinks(content,$(this).attr("href"),$(this).attr("rel"));
				});
			});
			
		}
	}
});


(function($){

	$.fn.zswitch = function(options) {
	
	// define default settings
	var settings = {
		mouse_over: 'pointer',
		mouse_out:  'default',
		switch_on_container_path: '/_media/images/switch_on.png',
		switch_off_container_path: '/_media/images/switch_off.png',
		switch_path: '/_media/images/switch.png',
		switch_height: 27,
		switch_width: 94
	};

	if(options) {
		jQuery.extend(settings, options);
	}

	// create the switch
	return this.each(function() {

		var container;
		var image;

		// Get starting state
		var state = 'off';
		var stateVal = 0;
		if ($(this).hasClass('on')) {
			state = 'on';
			stateVal = 1;
		}
		
		// make the container
		container = $('<span class="switch_container" style="height:'+settings.switch_height+'px; width:'+settings.switch_width+'px; position: relative; overflow: hidden"></span>');
		
		// make the switch image based on starting state
		image = $('<img class="switch" style="height:'+settings.switch_height+'px; width:'+settings.switch_width+'px; background-image: url('+settings.switch_path+'); background-repeat:none; background-position:'+(state == 'on' ? 0 : -53)+'px" src="'+(state == 'on' ? settings.switch_on_container_path : settings.switch_off_container_path)+'" />');

		// insert into placeholder
		$(this).html($(container).html($(image))).append('<input name="'+ this.id +'" type="hidden" value="'+ stateVal +'" />');

		// Define mouse actions
		$(this).click(function() {
			if($(this).hasClass('on')) {
				$(this).find('input').val('0');
				$(this).find('.switch').animate({backgroundPosition: -53}, "slow", function() {
					jQuery(this).attr('src', settings.switch_off_container_path);
				});
				$(this).removeClass('on');
				$(this).addClass('off');
			}
			else {
				$(this).find('input').val('1');
				$(this).find('.switch').animate({backgroundPosition: 0}, "slow", function() {
				});
				$(this).find('.switch').attr('src', settings.switch_on_container_path);
				$(this).removeClass('off');
				$(this).addClass('on');
			}
		});		

	});
	};
})(jQuery);
