$(document).ready(function()
{
	//Adminknapparna
	$('#menuLogin li a').bind('mouseover', function()
	{
		hideSubMenus();
		$('#menuMain li a').removeClass('hoover');
		$(this).addClass('hoover');
	});
	$('#menuLogin li a').bind('mouseout', function()
	{
		$(this).removeClass('hoover');
	});
	$('#menuLogin li a').bind('click', function()
	{
		$.cookie('submenu','-1');
		return true;
	});
	

	// Visa submenyer
	$('#menuMain li a').bind('mouseover', function()
	{
		hideSubMenus();
		showSubMenu($(this).attr('id').match(/\d+/)[0]);
	});
	
	// Kom ihåg vilken submeny som var utfälld vid klick på menylänk	
	$('#menuMain li a').bind('click', function()
	{
		$.cookie('submenu',$(this).attr('id').match(/\d+/)[0]);
		return true;
	});	
	$('#menu .submenu li a').bind('click', function()
	{
		$.cookie('submenu',$(this).parent().parent().attr('id').match(/\d+/)[0]);
		return true;
	});
	
	// Visa submeny
	var selectedSubMenu = '0';
	var cookieSubMenu = $.cookie('submenu');
	if (cookieSubMenu != null)
	{
		selectedSubMenu = cookieSubMenu;
	}
	if (cookieSubMenu != '-1')
		showSubMenu(selectedSubMenu);
	
	
	// ==== Här följer sidspecifika startfunktioner ====.
	//Uploadify?
	if ($('#divUploadify').length > 0)
	{
		$('#divUploadify').uploadify(
		{
			'uploader': '/uploadify.swf',
			'script': '/uploadifyy.asp',
			'folder': '/dummyfolder',
			multi:true,
			auto:true,
			'cancelImg': '/gfx/cancel.png',
			onError: function(event,queueID,fileObj,errorObj)
			{
				alert('Upload Error: ' + errorObj.info);
			},
			onComplete: function(event,queueID,fileObj,response,data)
			{
				connectFile('/webupload/'+fileObj.name);
			}
		});
	}
	
	if ($('#divUploadifyFilarkiv').length > 0)
	{
		$('#divUploadifyFilarkiv').uploadify(
		{
			'uploader': '/uploadify.swf',
			'script': '/uploadifyyfilarkiv.asp',
			'folder': '/dummyfolder',
			multi:true,
			auto:true,
			'cancelImg': '/gfx/cancel.png',
			onError: function(event,queueID,fileObj,errorObj)
			{
				alert('Upload Error: ' + errorObj.info);
			},
			onComplete: function(event,queueID,fileObj,response,data)
			{
				connectFile('/filarkiv/'+fileObj.name);
			}
		});
	}
	
	
	// Bildgalleri?
	if ($("a.fancypic").length > 0)
	{
		$("a.fancypic").fancybox(
		{
			'hideOnContentClick': false
		});
	}
		
	// Filmspelare?
	if ($("div.mp4player").length > 0)
	{
		$("div.mp4player").each(function()
		{
			var filename = '/getfile.asp%3Ffpath=' + $(this).find('span').text();
			swfobject.embedSWF("/mediaplayer.swf", $(this).attr('id'), "421", "300", "9.0.115", "/expressInstall.swf", {file : filename, width : 421, height: 300, stretching : "uniform" }, { wmode : "opaque", allowfullscreen: "true", allowscriptaccess : "always" });
		});
	}
			
	//Sortables?
	if (document.getElementById("sortable"))
	{
		$("#sortable").sortable(
		{
			handle : '.handtag', 
			update : function()
			{ 
				var order = $('#sortable').sortable('toArray').join('|');
				$.ajax(
				{
					type: 'POST',
					url: 'ajax_eventorder.asp',
					dataType: 'xml',
					data: 
					{
						'order' : order,
						'tabell' : $('#SS-tabell').val()
					}
				});	
			}
		});
		$("#sortable").disableSelection();
	}
	
	//Frastabell?
	if (document.getElementById("frastabellen"))
	{
		$("#frastabellen").appendTo('body');
	}
	
	//Filetree?
	if (document.getElementById("fileTree"))
	{
		laddaConnectedFiles();
		$('#fileTree').fileTree(null, function(file)
		{
			connectFile(file);
		});
	}
		
	//Datepicker?
	if (document.getElementById("datepicker"))
	{
		initDatepicker();
		$("#datepicker").datepicker(
		{
			altField: '#datepickerInput'
		});
		
		if (document.getElementById('datepickerDefault'))
			$("#datepicker").datepicker('setDate', $.datepicker.parseDate('yy-mm-dd', $('#datepickerDefault').val()));
	
	}
		
	// Logga in - markera rutan
	if (document.getElementById("loginform"))
	{
		document.getElementById("loginform").username.focus();
	}
	
	// Startsidan - Starta bildspel?
	if (document.getElementById("bildspel"))
	{
		startGallery();
	}
});

var gallerySettings = {
    'speed': 3000,
	'fadeSpeed' : 1000,
	'childrenImg' : null,
	'childrenTxt' : null,
	'currentChild' : 0,
	'nextChild' : 1
};


function startGallery()
{
	$.ajax(
	{
		type: 'POST',
		url: 'ajax_bildspel.asp',
		dataType: 'xml',
		data: 'hej=du',
		success: function(xml)
		{
			$(xml).find('slide').each(function()
			{
				var filnamn = $(this).find('filnamn').text();
				var txt = $(this).find('txt').text();
				
				$('<div></div>').attr('class','slideBild').css("background-image","url('"+filnamn+"')").appendTo('#bildspelBildRuta');
				$('<div></div>').attr('class','slideText').html('<table border="0" cellspacing="0" cellpadding="0" width="100%" height="90%"><tr><td>'+txt+'</td></tr></table>').appendTo('#bildspelTextRuta');
			});
			
			$('#bildspelBildRuta .slideBild:first').css('display','block');
			$('#bildspelTextRuta .slideText:first').css('display','block');
	
	
			gallerySettings.childrenImg = $('#bildspelBildRuta').children();
			gallerySettings.childrenTxt = $('#bildspelTextRuta').children();
		
			setInterval('runGallery()',gallerySettings.speed);
		},
		error: function(XMLHttpRequest, textStatus, errorThrown)
		{
			// alert(XMLHttpRequest.responseText);
		}
	});	
}

function runGallery()
{
	$(gallerySettings.childrenImg[gallerySettings.currentChild]).fadeOut(gallerySettings.fadeSpeed);
	$(gallerySettings.childrenImg[gallerySettings.nextChild]).fadeIn(gallerySettings.fadeSpeed, function()
	{
		if($(this)[0].style.removeAttribute)
			$(this)[0].style.removeAttribute('filter');
	});	
	
	$(gallerySettings.childrenTxt[gallerySettings.currentChild]).fadeOut(gallerySettings.fadeSpeed);
	$(gallerySettings.childrenTxt[gallerySettings.nextChild]).fadeIn(gallerySettings.fadeSpeed, function()
	{
		if($(this)[0].style.removeAttribute)
			$(this)[0].style.removeAttribute('filter');
	});
	
	
	gallerySettings.currentChild = gallerySettings.nextChild;
	gallerySettings.nextChild++;
	
	if (gallerySettings.nextChild == gallerySettings.childrenImg.length)
		gallerySettings.nextChild = 0;	
}

function hideSubMenus()
{
	$('#menu .submenu').css('display','none');
	$('#menuMain li a').removeClass('hoover');
}

function showSubMenu(x)
{
	$('#menuSub' + x).css('display','block');
	$('#menuMainItem' + x).addClass('hoover');
}

function initDatepicker()
{
	$.datepicker.regional['sv'] = 
	{
		closeText: 'Stäng',
		prevText: '&laquo;Förra',
		nextText: 'Nästa&raquo;',
		currentText: 'Idag',
		monthNames: ['Januari','Februari','Mars','April','Maj','Juni',
		'Juli','Augusti','September','Oktober','November','December'],
		monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
		'Jul','Aug','Sep','Okt','Nov','Dec'],
		dayNamesShort: ['Sön','Mån','Tis','Ons','Tor','Fre','Lör'],
		dayNames: ['Söndag','Måndag','Tisdag','Onsdag','Torsdag','Fredag','Lördag'],
		dayNamesMin: ['Sö','Må','Ti','On','To','Fr','Lö'],
		dateFormat: 'yy-mm-dd', firstDay: 1,
		isRTL: false,
		changeMonth: true,
		changeYear: true
	};
	$.datepicker.setDefaults($.datepicker.regional['sv']);	
}

function slumpaPwd()
{
	$.ajax(
	{
		type: 'POST',
		url: 'ajax_passgen.asp',
		dataType: 'xml',
		data: 'antaltecken=6',
		success: function(xml)
		{
			$('#passwordInput').val($(xml).find('resultat').text());
		}
	});	
}

var checkedUsername = false;
function checkNewUserForm(theForm)
{
	if (theForm.namn.value.length == 0 || theForm.username.value.length == 0 || theForm.password.value.length == 0 || theForm.epost.value.length == 0)
	{
		alert("Vänligen fyll i alla fält.");
		return false;
	}
	
	if (checkedUsername == false)
	{
		$.ajax(
		{
			type: 'POST',
			url: 'ajax_checkusername.asp',
			dataType: 'xml',
			data: 'username='+theForm.username.value,
			success: function(xml)
			{
				if ($(xml).find('resultat').text() == 'ok')
				{
					checkedUsername = true;
					document.getElementById('newUserForm').submit();
				}
				else
				{
					alert('Användarnamnet är upptaget.');
					checkedUsername = false;
				}
			}
		});	
	}
	
	return checkedUsername;
}

function checkEditUserForm(theForm)
{
	if (theForm.namn.value.length == 0 || theForm.username.value.length == 0 || theForm.epost.value.length == 0)
	{
		alert("Vänligen fyll i fälten namn, användarnamn och e-postadress.");
		return false;
	}
	
	if (theForm.passwordInput1.value.length > 0 && theForm.passwordInput1.value != theForm.passwordInput2.value)
	{
		alert("För att byta lösenord, ange samma nya lösenord i båda rutorna.");
		return false;
	}
	
	if (checkedUsername == false)
	{
		$.ajax(
		{
			type: 'POST',
			url: 'ajax_checkusername.asp',
			dataType: 'xml',
			data: 'username='+theForm.username.value+'&notid='+theForm.id.value,
			success: function(xml)
			{
				if ($(xml).find('resultat').text() == 'ok')
				{
					checkedUsername = true;
					document.getElementById('editUserForm').submit();
				}
				else
				{
					alert('Det nya användarnamnet är upptaget.');
					checkedUsername = false;
				}
			}
		});	
	}
	
	return checkedUsername;
}

function checkPasswordForm(theForm)
{
	if (theForm.passwordInput1.value.length == 0)
		return false;
		
	if (theForm.passwordInput1.value != theForm.passwordInput2.value)
	{
		alert(theForm.errormsg.value);
		return false;
	}
}

function newUserNotisCheck(theCheckbox)
{
	if (theCheckbox.checked)
	{
		setNewUserNoticeLang();
		$('#newUserNotis').css('display','block');
	}
	else
		$('#newUserNotis').css('display','none');
}

function setNewUserNoticeLang()
{
	var langID = $('#notisLang option:selected').val();
	$.ajax(
	{
		type: 'POST',
		url: 'ajax_newusernotice.asp',
		dataType: 'xml',
		data: 'l='+langID,
		success: function(xml)
		{
			document.getElementById("newUserForm").notistext.value = $(xml).find('brev').text();
			document.getElementById("newUserForm").notissubject.value = $(xml).find('subject').text();
		}
	});	
}

jQuery.cookie = function(name, value, options)
{
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(
					cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};