/**
 * navigation.js - created on Nov 5, 2010 9:04:25 PM by thomi
 * @copyright		win-soft.ch 2010
 * @author			Thomas Winteler <http://www.win-soft.ch>
 */

function navigationProtectionCheck(navigationID)
{
	var protection;
	protection = 0;

	var data = $.ajax({
		url: "system/core/frontend/navigation.php?mode=navigationCheckProtection&navigationID="+navigationID,
		async: false
	});
	
	if(data.responseText.search(/YES CLOSED/) != -1)
	{
		protection = 1;
		
		$.get("system/core/frontend/navigation.php?mode=navigationProtection&navigationID="+navigationID, function(data) {
			$(function(){
				$('#DIV_navigation_protection_dialog').html(data);
				var navigation_protection_dialog_buttons = {};
				navigation_protection_dialog_buttons['schliessen'] = function(){
						$(this).dialog("close");
				};
				$("#DIV_navigation_protection_dialog").dialog({
					title: webLanguage["Navigation_Protection_Dialog_Title"],
					height: 300,
					width: 400,
					modal: true,
					resizable: false,
					draggable: false,
					closeOnEscape: true,
					buttons: navigation_protection_dialog_buttons,
					open: function() {
			            $('.ui-dialog-buttonpane').find('button:contains("schliessen")').button({
			                icons: {
			                    primary: 'ui-icon-circle-close'
			                }
			            });
					},
					close: function(){
						window.location.href = "http://"+window.location.hostname;
					}
				});
			});
		});
	}
	
	return protection;

}

function navigationProtectionLogin(navigationID)
{
	$(document).ready(function() {

		setTimeout(function() {  
    		$("#TEXT_NM_navigation_protection_username").focus();
    	}, 500);

		jQuery.validator.messages.required = "";
		var validator = $("#FORM_NP_navigation_protection_login").validate({
    		invalidHandler: function() {
			var errors = validator.numberOfInvalids();
    			if (errors) {
    				var message = errors == 1
    					? webLanguage["General_Required_Fields"]
    					: webLanguage["General_Required_Fields"];
    				$("#DIV_NP_navigation_protection_login_message").html("<img src=\"http://"+window.location.hostname+"/admin/img/16_exclamation.png\" style=\"margin-right: 10px;\">"+message);
    				$("#DIV_NP_navigation_protection_login_message").show();
    			} else {
    				$("#DIV_NP_navigation_protection_login_message").css("display", "none");
    			}
			}

    	});
    	
    	var options = {
            		success: function(data) {
            			navigationProtectionLoginStep(data, navigationID);
            		}
    	};

    	$("#FORM_NP_navigation_protection_login").ajaxForm(options);

	});
}

function navigationProtectionLoginStep(data, navigationID)
{
	if(data == "FAILED")
	{
		$("#DIV_NP_navigation_protection_login_message").html("<img src=\"http://"+window.location.hostname+"/admin/img/16_exclamation.png\" style=\"margin-right: 10px;\"><b>"+webLanguage["General_Required_Fields"]+"</b>");
		$("#DIV_NP_navigation_protection_login_message").show();
	}
	else
	{
		window.location.href = "http://"+window.location.hostname+"/"+data;
	}

}


function navigation_init(navigationGroupName, navigationGroupChildName, modulOutputName, navigationID, documentTitleSeperator, documentTitlePosition)
{
	$(document).ready(function() {

    	if(navigationGroupChildName === undefined) { navigationGroupChildName = 0;}
    	if(navigationID === undefined) { navigationID = 0;}

    	if(navigationID)
		{
    		$.get("system/core/frontend/navigation.php?mode=navigation_title&navigationID="+navigationID+"&documentTitleSeperator="+documentTitleSeperator+"&documentTitlePosition="+documentTitlePosition, function(data) {
        		if(data)
    			{
        			document.title = data;
    			}
        	});
		}
    	
    	if($.isArray(navigationGroupName) && $.isArray(navigationGroupChildName))
    	{
    		var i;
    		for (i = 0; i < navigationGroupName.length; i++)
    		{
    	    	if(navigationGroupName[i] && !navigationGroupChildName[i] && !navigationID || navigationGroupName[i] && navigationGroupChildName[i] && !navigationID)
    	    	{
    	    		console.log("if "+navigationGroupName[i]+" "+navigationGroupChildName[i]);
        			var dataGroup = $.ajax({
        				url: "system/core/frontend/navigation.php?mode=navigation&navGroupName="+navigationGroupName[i]+"&navGroupChildName="+navigationGroupChildName[i]+"&modulOutputNameTree="+modulOutputName+"&navigationID="+navigationID+"&navigationActiveID="+navigationID,
        				async: false
        			});
   	        		$("#"+navigationGroupName[i]).html(dataGroup.responseText);
    	    	}
    			else if(navigationGroupName[i] && navigationGroupChildName[i] && navigationID > 0)
    	    	{
    	    		console.log("else if "+navigationGroupName[i]+" "+navigationGroupChildName[i]);
        			var dataGroup = $.ajax({
        				url: "system/core/frontend/navigation.php?mode=navigation&navGroupName="+navigationGroupName[i]+"&navGroupChildName="+navigationGroupChildName[i]+"&modulOutputNameTree="+modulOutputName+"&navigationID=0&navigationActiveID="+navigationID,
        				async: false
        			});
        			$("#"+navigationGroupName[i]).html(dataGroup.responseText);

        			var dataGroupChild = $.ajax({
        				url: "system/core/frontend/navigation.php?mode=navigation&navGroupName="+navigationGroupName[i]+"&navGroupChildName="+navigationGroupChildName[i]+"&modulOutputNameTree="+modulOutputName+"&navigationID="+navigationID+"&navigationActiveID="+navigationID,
        				async: false
        			});
   	        		$("#"+navigationGroupChildName[i]).html(dataGroupChild.responseText);
    	    	}
    	    	else
    	    	{
    	    		console.log("else "+navigationGroupName[i]+" "+navigationGroupChildName[i]);
        			var dataGroup = $.ajax({
        				url: "system/core/frontend/navigation.php?mode=navigation&navGroupName="+navigationGroupName[i]+"&navGroupChildName="+navigationGroupChildName[i]+"&modulOutputNameTree="+modulOutputName+"&navigationID="+navigationID+"&navigationActiveID="+navigationID,
        				async: false
        			});
   	        		$("#"+navigationGroupName[i]).html(dataGroup.responseText);
    	    	}
    		}
    	}
    	else
    	{
        	if(navigationGroupName && !navigationGroupChildName && !navigationID || navigationGroupName && navigationGroupChildName && !navigationID)
        	{
    			var dataGroup = $.ajax({
    				url: "system/core/frontend/navigation.php?mode=navigation&navGroupName="+navigationGroupName+"&navGroupChildName="+navigationGroupChildName+"&modulOutputNameTree="+modulOutputName+"&navigationID="+navigationID+"&navigationActiveID="+navigationID,
    				async: false
    			});
           		$("#"+navigationGroupName).html(dataGroup.responseText);
        	}
        	else if(navigationGroupName && navigationGroupChildName && navigationID > 0)
        	{
    			var dataGroup = $.ajax({
    				url: "system/core/frontend/navigation.php?mode=navigation&navGroupName="+navigationGroupName+"&navGroupChildName="+navigationGroupChildName+"&modulOutputNameTree="+modulOutputName+"&navigationID=0&navigationActiveID="+navigationID,
    				async: false
    			});
           		$("#"+navigationGroupName).html(dataGroup.responseText);

    			var dataGroupChild = $.ajax({
    				url: "system/core/frontend/navigation.php?mode=navigation&navGroupName="+navigationGroupName+"&navGroupChildName="+navigationGroupChildName+"&modulOutputNameTree="+modulOutputName+"&navigationID="+navigationID+"&navigationActiveID="+navigationID,
    				async: false
    			});
           		$("#"+navigationGroupChildName).html(dataGroupChild.responseText);
        	}
        	else
        	{
    			var dataGroup = $.ajax({
    				url: "system/core/frontend/navigation.php?mode=navigation&navGroupName="+navigationGroupName+"&navGroupChildName="+navigationGroupChildName+"&modulOutputNameTree="+modulOutputName+"&navigationID="+navigationID+"&navigationActiveID="+navigationID,
    				async: false
    			});
           		$("#"+navigationGroupName).html(dataGroup.responseText);
        	}
    	}

// ORIGINAL - changed 05.09.2011...
//    	if(navigationGroupName && !navigationGroupChildName && !navigationID || navigationGroupName && navigationGroupChildName && !navigationID)
//    	{
//    		$.get("system/core/frontend/navigation.php?mode=navigation&navGroupName="+navigationGroupName+"&navGroupChildName="+navigationGroupChildName+"&modulOutputNameTree="+modulOutputName+"&navigationID="+navigationID+"&navigationActiveID="+navigationID, function(data) {
//        		$("#"+navigationGroupName).html(data);
//        	});
//    	}
//    	else if(navigationGroupName && navigationGroupChildName && navigationID > 0)
//    	{
//        	$.get("system/core/frontend/navigation.php?mode=navigation&navGroupName="+navigationGroupName+"&navGroupChildName="+navigationGroupChildName+"&modulOutputNameTree="+modulOutputName+"&navigationID=0&navigationActiveID="+navigationID, function(data) {
//        		$("#"+navigationGroupName).html(data);
//        	});
//
//        	$.get("system/core/frontend/navigation.php?mode=navigation&navGroupName="+navigationGroupName+"&navGroupChildName="+navigationGroupChildName+"&modulOutputNameTree="+modulOutputName+"&navigationID="+navigationID+"&navigationActiveID="+navigationID, function(data) {
//        		$("#"+navigationGroupChildName).html(data);
//        	});
//    	}
//    	else
//    	{
//    		$.get("system/core/frontend/navigation.php?mode=navigation&navGroupName="+navigationGroupName+"&navGroupChildName="+navigationGroupChildName+"&modulOutputNameTree="+modulOutputName+"&navigationID="+navigationID+"&navigationActiveID="+navigationID, function(data) {
//        		$("#"+navigationGroupName).html(data);
//        	});
//    	}

    	

// TODO: WORKAROUND reset all not used navigation    	

	});
}

function navigation_modul_init(modulOutputName, navigationID, anchor)
{
	$(document).ready(function() {
		var dataContent = $.ajax({
			url: "system/core/frontend/navigation.php?mode=modul&modulOutputName="+modulOutputName+"&navigationID="+navigationID+"&fake=1",
			async: false
		});
		
		$("#"+modulOutputName).html(dataContent.responseText);
		if(anchor)
		{
			if($("#"+modulOutputName).parent().css("overflow") == "auto")
			{
				$("#"+modulOutputName).parent().scrollTo("#"+anchor, 500);
			}
			else
			{
				$.scrollTo("#"+anchor, 500);
			}
			
		}
	});	
	
//	$(document).ready(function() {
//		$("#"+modulOutputName).load("system/core/frontend/navigation.php?mode=modul&modulOutputName="+modulOutputName+"&navigationID="+navigationID+"&fake=1");
//	});	
}

function navigation_move(navigationGroupID, navigationGroupChildID, modulOutputName, navigationParentID, navigationID, navigationMoveDirection)
{
	$.get("system/core/frontend/navigation.php?mode=navigationMove&navGroupID="+navigationGroupID+"&navGroupChildID="+navigationGroupChildID+"&modulOutputNameTree="+modulOutputName+"&navigationParentID="+navigationParentID+"&navigationID="+navigationID+"&navigationMoveDirection="+navigationMoveDirection, function(data) {
		hashChange();
	});
}

function showNavigationManagementManageNavigationDialog(mode, navigationID, navigationParentID, navigationGroupID)
{
	checkLoginData();

	if(mode === undefined) { mode = "edit_navigation";}
	if(navigationID === undefined) { navigationID = "";}
	if(navigationParentID === undefined) { navigationParentID = "";}
	if(navigationGroupID === undefined) { navigationGroupID = "";}
	
	if($("#DIV_navigation_management_navigation_dialog").html())
	{
		$.get("admin/navigation_management.php?mode="+mode+"&navigationID="+navigationID+"&navigationParentID="+navigationParentID+"&navigationGroupID="+navigationGroupID, function(data) {
			$("#DIV_navigation_management_navigation_dialog").html(data);
		});
	}
	else
	{
		$.get("admin/navigation_management.php?mode="+mode+"&navigationID="+navigationID+"&navigationParentID="+navigationParentID+"&navigationGroupID="+navigationGroupID, function(data) {
			$(function(){
				$("#DIV_navigation_management_navigation_dialog").html(data);
				var navigation_management_add_navigation_dialog_buttons = {};
				navigation_management_add_navigation_dialog_buttons[adminLanguage["Navigation_Management_Close"]] = function() {
					$(this).dialog("close");
				};
				$("#DIV_navigation_management_navigation_dialog").dialog({
					title: adminLanguage["Navigation_Management_Manage_Navigation"],
					bgiframe: true,
					minHeight: 600,
					minWidth: 850,
					height: 600,
					width: 850,
					modal: true,
					resizable: false,
					draggable: false,
					buttons: navigation_management_add_navigation_dialog_buttons,
					open: function() {
		                $('.ui-dialog-buttonpane').find('button:contains("'+adminLanguage["Navigation_Management_Close"]+'")').button({
		                    icons: {
		                        primary: 'ui-icon-circle-close'
		                    }
		                });
					},
					beforeClose: function() {
						$("#DIV_navigation_management_navigation_dialog").html("");
					}
				});
			});
		});
	}
}

function navigationManagementSaveNavigationSettings(navigationID)
{
	checkLoginData();

	$(document).ready(function() {

		setTimeout(function() {  
    		$("#TEXT_NM_navigation_language_title").focus();
    	}, 500);

		jQuery.validator.messages.required = "";
		jQuery.validator.messages.url = "";
		var validator = $("#FORM_NM_navigation_settings").validate({
    		invalidHandler: function() {
			var errors = validator.numberOfInvalids();
    			if (errors) {
    				var message = errors == 1
    					? adminLanguage["Admin_General_Required_Fields"]
    					: adminLanguage["Admin_General_Required_Fields"];
    				$("#DIV_NM_save_message").html("<img src=\"http://"+window.location.hostname+"/admin/img/16_exclamation.png\" style=\"margin-right: 10px;\">"+message);
    				$("#DIV_NM_save_message").show();
    			} else {
    				$("#DIV_NM_save_message").css("display", "none");
    			}
			}

    	});
    	
    	var options = {
            		success: function(data) {
            			navigationManagementProcessNavigationSettings(data, navigationID);
            		}
    	};

    	$("#FORM_NM_navigation_settings").ajaxForm(options);

	});
}

function navigationManagementProcessNavigationSettings(data, navigationID)
{
	checkLoginData();

	navigation_init(navigationGroupName, navigationGroupChildName, modulOutputName, navigationID);
	$("#DIV_NM_save_message").css("display", "block");
	$("#DIV_NM_save_message").html("<img src=\"http://"+window.location.hostname+"/admin/img/16_success.png\" style=\"margin-right: 10px;\">"+adminLanguage["Navigation_Management_Global_Save_Success"]);
	$("#DIV_NM_button_global_save").css("display", "none");
	$("#DIV_NM_save_message").fadeOut(4000);
	setTimeout(function() {  
		if(data)
		{
			showNavigationManagementManageNavigationDialog("edit_navigation", data);
		}
		else
		{
			$("#DIV_NM_button_global_save").css("display", "block");
		}
	}, 4000);
}

function navigationManagementRemoveNavigation(navigationID, navigationParentID, navigationGroupID, deleteInfoText)
{
	checkLoginData();

	if(confirm(adminLanguage["Navigation_Management_Global_Delete_Info"]+": "+deleteInfoText))
	{
		$.get("admin/navigation_management.php?mode=remove_navigation&navigationID="+navigationID+"&navigationParentID="+navigationParentID+"&navigationGroupID="+navigationGroupID, function(data) {
			navigation_init(navigationGroupName, navigationGroupChildName, modulOutputName, navigationParentID);
		});
	}
}


