jQuery.noConflict();
var sliding = false;
jQuery(function() {
	
	init_all();

});

function init_all() {
	jQuery("li#wtabs_myhomepage a").bind("click", onMyHomepageClick);
	jQuery("li#wtabs_customise a").bind("click", onCustomiseClick);
	jQuery("li#wtabs_express_checkin a").bind("click", onExpressCheckinClick);
	
	jQuery("#apply").bind("click", onApplyClick);
	jQuery(".delete").bind("click", onDeleteClick);
	
	jQuery(".popup_link").bind("click", onPopupLinkClick);
	
	init_drag();
	init_converter();

	jQuery(".widget,.nowidget").droppable({
		accept: '.widget',
		
		hoverClass: 'widget_hover',
		drop: function(event, ui) {
			onnewTaskClick();
			
			var tmpDivClass = jQuery(this).attr("class");
			var tmpDivId = jQuery(this).attr("id");
			var tmpDivStyle = jQuery(this).attr("style");
			var tmpDivHtml = jQuery(this).html();
			
			saveChanges(jQuery(this).attr("id"), jQuery(ui.draggable).attr("id"));
			
			if (jQuery(this).hasClass("nowidget")) {
				jQuery(this).removeClass("nowidget");
				jQuery(this).attr("class", jQuery(ui.draggable).attr("class"));
				jQuery(this).attr("id", jQuery(ui.draggable).attr("id"));
				jQuery(this).attr("style", jQuery(ui.draggable).attr("style"));
				jQuery(this).html(jQuery(ui.draggable).html());
				
				jQuery(ui.draggable).attr("class", tmpDivClass);
				jQuery(ui.draggable).attr("id", tmpDivId);
				jQuery(ui.draggable).attr("style", tmpDivStyle);
				jQuery(ui.draggable).html("");
			}
			else {
				jQuery(this).attr("class", jQuery(ui.draggable).attr("class"));
				jQuery(this).attr("id", jQuery(ui.draggable).attr("id"));
				jQuery(this).attr("style", jQuery(ui.draggable).attr("style"));
				jQuery(this).html(jQuery(ui.draggable).html());
				jQuery(ui.draggable).attr("class", tmpDivClass);
				jQuery(ui.draggable).attr("id", tmpDivId);
				jQuery(ui.draggable).attr("style", tmpDivStyle);
				jQuery(ui.draggable).html(tmpDivHtml);
				
			}
			init_drag();
		}
	});
}

function onPopupLinkClick(event) {
	
	var url = jQuery(this).attr("href");
	var popup_window = window.open(url, 
								   "Online_Brochure",
								   "toolbar=no,directories=no,status=no,scrollbars=yes,resizable=yes,menubar=no,location=no");
	popup_window.focus();

	return false;
}

function onApplyClick(event) {
	var widgets = "";
	var checkboxWidgets = jQuery("input.cb_widgets");
	
	for (var i = 0; i < checkboxWidgets.length; i++) {
		if (jQuery(checkboxWidgets[i]).attr("checked")) {
			widgets += "," + jQuery(checkboxWidgets[i]).val();
		}
		else {
			widgets += ",0";
		}
	}
	widgets = widgets.substr(1);
	
	var url = "/content/modify-widgets.php?add=" + widgets;
	//alert(url); //return false;
	jQuery(".working2").width(825);
	jQuery(".working2").height(jQuery("#working2_place").height());
	jQuery(".working2 span").css("padding-top", 100);
	jQuery(".working2").fadeIn(500);
	jQuery("#widgets").load(url, function() {
		jQuery(".working2").fadeOut(500,function() {
			init_all();
		});
	});
	
	return false;
}

function onDeleteClick(event) {
	var id = jQuery(this).parent().parent().parent().attr("id");
	var url = "/content/modify-widgets.php?delete=" + id.substr(7);
	
	//jQuery(".working2").width(jQuery(".area").width());
	jQuery(".working2").width(825);
	jQuery(".working2").height(jQuery("#working2_place").height());
	jQuery(".working2 span").css("padding-top", 100);
	jQuery(".working2").fadeIn(500);
	jQuery("#widgets").load(url, function() {
		jQuery(".working2").fadeOut(500,function() {
			init_all();
		});
	});
	
	return false;
}

function onMyHomepageClick(event) {
	
	if (!sliding) {
		sliding = true;
		
		jQuery("#widgets_customise, #express_check_in").hide(-1, function() {
			jQuery("#wtabs_customise").removeClass("select");
			jQuery("#wtabs_myhomepage").addClass("select");
			jQuery("#widgets_content").show();
			sliding = false;
		});
	}
	
	return false;
}

function onCustomiseClick(event) {
	
	if (!sliding) {
		sliding = true;
		
		jQuery("#widgets_content, #express_check_in").hide(-1, function() {
			jQuery("#wtabs_myhomepage").removeClass("select");
			jQuery("#wtabs_customise").addClass("select");
			jQuery("#widgets_customise").show();
			sliding = false;
		});
	}
	
	return false;
}

function onExpressCheckinClick(event) {
	
	if (!sliding) {
		sliding = true;
		
		jQuery("#widgets_content, #widgets_customise").hide(-1, function() {
			jQuery("#wtabs_myhomepage").addClass("select");
			jQuery("#wtabs_customise").removeClass("select");
			jQuery("#express_check_in").show();
			sliding = false;
		});
	}
	
	return false;
}
function init_drag() {
	jQuery(".widget").draggable({
		handle: 'h2.drag',
		containment: '.area', 
		scroll: false,
		revert: 'invalid',
		//opacity: 0.75,
		zIndex: 2700,
		helper: 'clone',
		cancel: '.nowidget'
	});	
}



function saveChanges(widget1, widget2) {
	
	widget1 = widget1.substr(7);
	widget2 = widget2.substr(7);
	
	var old_html = jQuery("#widgets").html();
	
	// list of widgets
	var widgets = "";
	if (jQuery.cookie('homepage-widgets') !== null) {
		widgets += jQuery.cookie('homepage-widgets');
	}
	
	if (widgets == "") {
		widgets = "1,2,3,4,5,6";
	}
	
	var oldWidgets = widgets;
	var newWidgets = "";
	
	//newWidgets = oldWidgets.replace(widget1, "X");
	var splittedWidgets = oldWidgets.split(',');
	var tmp_widgets = "";
	for (var i = 0; i < splittedWidgets.length; i++) {
		if (i > 0) {
			tmp_widgets += ",";
		}
		
		if (splittedWidgets[i] != widget1) {
			tmp_widgets += splittedWidgets[i];
		}
		else {
			tmp_widgets += "X";
		}
	}
	
	//newWidgets = newWidgets.replace(widget2, widget1);
	splittedWidgets = tmp_widgets.split(',');
	var tmp_widgets = "";
	for (var i = 0; i < splittedWidgets.length; i++) {
		if (i > 0) {
			tmp_widgets += ",";
		}
		
		if (splittedWidgets[i] != widget2) {
			tmp_widgets += splittedWidgets[i];
		}
		else {
			tmp_widgets += widget1;
		}
	}
	
	//newWidgets = newWidgets.replace("X", widget2);
	splittedWidgets = tmp_widgets.split(',');
	var tmp_widgets = "";
	for (var i = 0; i < splittedWidgets.length; i++) {
		if (i > 0) {
			tmp_widgets += ",";
		}
		
		if (splittedWidgets[i] != "X") {
			tmp_widgets += splittedWidgets[i];
		}
		else {
			tmp_widgets += widget2;
		}
	}
	newWidgets = tmp_widgets;
	
	// add "empty" widgets
	splittedWidgets = newWidgets.split(',');
	if (splittedWidgets.length < 6) {
		var emptyWidgetId = 101;
		var i = splittedWidgets.length;
		while(i < 6) {
			newWidgets += ","+emptyWidgetId;
			emptyWidgetId++;
			i++;
		}
	}
	
	jQuery.cookie('homepage-widgets', newWidgets, { path: '/', expires: 365 });
	
	var url = "/content/modify-widgets.php?save";
	/*jQuery(".working").width(jQuery("#container").width());
	jQuery(".working").height(jQuery("#container").height());
	jQuery(".working span").css("padding-top", 750);
	jQuery(".working").slideDown("normal");*/
	try {
		jQuery.ajax({
			url: url,
			cache: false,
			timeout: 30000,
			success: function(data, status) {
				//jQuery("#widgets").html(data);
				init_all();
				//alert("test alert");
			},
			error: function() {
				jQuery("#widgets").html(old_html);
				alert("Error. Please reload page and try it again.");
				init_all();
			}
		});
	}
	catch (error) {
		jQuery("#widgets").html(old_html);
		alert("Error. Please reload page and try it again.");
		init_all();
	}

	/*jQuery("#widgets").load(url, {limit: 25}, function() {
		//jQuery(".working").slideUp("normal", function() {
			init_all();
		//});
	});*/
}

