$(document).ready(function(){

	var remeber_input;
	var input_changed = false;
	var input_errors = new Array;
	
	if(document.getElementById('header_menu')) {
		menu.initMenuNavigation();
	}
 	if(document.getElementById("popup_image_holder")) {
		scaleWindow();
	}
	$(".submit_button").attr("tabindex","2500");
	$(".page_main_contents .images .image_list li a").hover(function() {
		$(this).addClass("image_hover");
	}, function() {
		$(this).removeClass("image_hover");
	});
	$(".page_main_contents .hoverpromo").hover(function() {
		$(this).addClass("hoverpromo_hover");
	}, function() {
		$(this).removeClass("hoverpromo_hover");
	});
	$(".page_main_contents .hoverpromo").click(function() {
		var location_url = $(this).find("a").attr("href");
		document.location.href=location_url;
	});
	$(".popup_image_holder a").hover(function() {
		$(".popup_image_holder .image_desc").css("display","block");
		$(".popup_image_holder .image_desc .background").fadeTo(5,0.5);
	}, function() {
		$(".popup_image_holder .image_desc").css("display","none");
	});
	$(".popup_image_holder .image_desc").hover(function() {
		$(".popup_image_holder .image_desc").css("display","block");
		$(".popup_image_holder .image_desc .background").fadeTo(5,0.5);
	}, function() {
		$(".popup_image_holder .image_desc").css("display","none");
	});
	$(".button").hover(function() {
		$(this).addClass("button_hover");
	}, function() {
		$(this).removeClass("button_hover");
	});
	$(".hover_list li a").hover(function() {
		$(this).addClass("crumb");
	}, function() {
		$(this).removeClass("crumb");
	});
	$(".diskografi a.to_crumb").hover(function() {
		$(this).attr("class","crumb_hover");
	}, function() {
		$(this).attr("class","to_crumb");
	});
	$(".external_url").click(function() {
		$(this).attr("target","_blank");
	});
	$(".page_main_contents .images li a").click(function() {
		var locate = $(this).children().attr("src");
		var category = $(this).children().attr("class");
		var image_id = $(this).children().attr("id");
		locate = locate.substring(locate.lastIndexOf("/")+1);
		splits = locate.split(".");
		locate = "viewimage.php?image=" + splits[0] + "." + splits[1] + "&category=" + category + "&id=" + image_id;
		var w = 600;
		var h = 400;
		var posx = (screen.width-w)/2;
		var posy = (screen.height-h)/2;
		var properties = ""; 
		properties = "resizable = 0, titlebar = 0, menubar = 0, scrollbars = 1, fullscreen = 0, toolbar = 0, location = 0, status = 0, "; 
		properties += "width = " + w + ", "; 
		properties += "height = " + h + ", ";
		properties += "left = " + posx + ", ";
		properties += "top = " + posy;
		window.open(locate,'image',properties);
	});
	$(".popup_image_holder a").click(function() {
		window.close();
	});
	$(".popup_image_holder .image_desc").click(function() {
		window.close();
	});
	$(".page_main_contents .input_text").focus(function() {
		remeber_input = $(this).attr("value");
		if($(this).attr("class").indexOf("changed") == -1) {
			$(this).attr("value","");
		}
	});
	$(".page_main_contents .input_text").change(function() {
		$(this).addClass("changed");
		input_changed = true;
	});
	$(".page_main_contents .input_text").blur(function() {
		if(!$(this).attr("value")) {
			$(this).attr("value",remeber_input);
		}
	});
	$(".page_main_contents .input_textarea").focus(function() {
		remeber_input = $(this).attr("value");
		if($(this).attr("class").indexOf("changed") == -1) {
			$(this).attr("value","");
		}
	});
	$(".page_main_contents .input_textarea").change(function() {
		$(this).addClass("changed");
		input_changed = true;
	});

	$(".page_main_contents .input_textarea").blur(function() {
		if(!$(this).attr("value")) {
			$(this).attr("value",remeber_input);
		}
	});
	$(".page_main_contents .submit_button").click(function() {
		var submitform = $(this).find("a").attr("class");
		$(".page_main_contents").find("form."+submitform).submit();
	});
	
	$(".page_main_contents form").submit(function() {
		var submit_it = false;
		if(!input_changed) {
			input_errors.push("* Nödvändiga uppgifter saknas");
			submit_it = false;
		}
		if($(this).attr("class") == "emaillist") {
			if(input_changed) {
				var email = $(this).parents().find("input[@name:newsletter_email]");
				if(!validateForm(email.attr("value"))) {
					submit_it = false;
				} else {
					submit_it = true;
				}
			}
		} else if($(this).attr("class") == "contact_form") {
			if(input_changed) {
				submit_it = true;
				var email = $(this).parents().find("input#contact_email").attr("value");
				if(email.length > 0 && email != "Din e-postadress") {
					if(!validateForm(email)) {
						submit_it = false;
					}
				}
				if($(this).find("input#contact_msg").attr("value").length == 0) {
					submit_it = false;
					input_errors.push("* Meddelande saknas");
				}
				if($(this).find("input#contact_msg").attr("value") == "Ditt meddelande...") {
					submit_it = false;
					input_errors.push("* Meddelande saknas");
				}
			}
		}
		if(submit_it) {
			$(this).append('<input type="hidden" name="page" value="submit" />');
			 $.ajax({
				type: "POST",
				async: false,
				url: "lib/secure.php",
				dataType: "HTML"
			 });
		} else {
			var error_msg = "Din inmatning har följande fel:\n\n";
			for(var i=0;i<input_errors.length;i++){
				error_msg += input_errors[i] + "\n";
			}
			alert(error_msg);
			input_errors = new Array();
			return false;
		}
		
	});
	validateForm = function(email) {
		if((email==null)||(email=="")){
			input_errors.push("* E-postadressen innehåller fel");
			return false;
		}
		if(validateEmail(email)==false) {
			return false;
		}
		return true;
	 }
	validateEmail = function(email) {
		var at="@";
		var dot=".";
		var lat=email.indexOf(at);
		var lemail=email.length;
		var ldot=email.indexOf(dot);
		if (email.indexOf(at)==-1){
		   input_errors.push("* E-postadressen innehåller fel");
		   return false;
		}
		if (email.indexOf(at)==-1 || email.indexOf(at)==0 || email.indexOf(at)==lemail){
		   input_errors.push("* E-postadressen innehåller fel");
		   return false;
		}
		if (email.indexOf(dot)==-1 || email.indexOf(dot)==0 || email.indexOf(dot)==lemail){
		    input_errors.push("* E-postadressen innehåller fel");
		    return false;
		}
		if (email.indexOf(at,(lat+1))!=-1){
			input_errors.push("* E-postadressen innehåller fel");
		    return false;
		}
		if (email.indexOf(lat-1,lat)==dot || email.indexOf(lat+1,lat+2)==dot){
		    input_errors.push("* E-postadressen innehåller fel");
		    return false;
		}
		if (email.indexOf(dot,(lat+2))==-1){
		    input_errors.push("* E-postadressen innehåller fel");
		    return false;
		}	
		if (email.indexOf(" ")!=-1){
		    input_errors.push("* E-postadressen innehåller fel");
		    return false;
		}
 		return true;					
	}
	function scaleWindow() {
		var w = $(".popup_image_holder img").width();
		var h = $(".popup_image_holder img").height();
		window.resizeTo(w+50,h+80);
		var posx = (screen.width-w)/2;
		var posy = (screen.height-h)/2;
		window.moveTo(posx,posy);
	}
});

var menu = new MenuClass();

getElementsByClassName = function(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}

function browserCheck() {
	this.ns4 = (document.layers)? true:false;
	this.ie = (document.all&&(!window.opera))? true:false;
	this.dom = (document.getElementById)? true:false;
	this.ns6 = (window.sidebar)? true:false;
	this.moz = (window.sidebar||navigator.userAgent.indexOf('Gecko')!=-1)? true:false;
	this.opera = (window.opera)? true:false;
	this.mac = (navigator.userAgent.indexOf('Mac')!=-1)? true:false;
}

function getObjectStyle(nameOfObject){
	Obj = null;
	if (is.ie) Obj = document.all[nameOfObject].style;
	else if (is.dom) Obj = document.getElementById(nameOfObject).style;
	else if (is.ns4) findLayer(window,nameOfObject);
	return Obj;
}

function MenuClass() {
	this.initMenuNavigation = function() {
		this.menu_holder = document.getElementById('header_menu');
		this.children = this.menu_holder.childNodes;
		for(var i=0;i<this.children.length;i++) {
			if(this.children[i].tagName == "A" && this.children[i].className != "hover") {
				this.children[i].onmouseover = function() {
					this.className = "hover";
					this.onmouseout = function() {
						this.className = "";	
					}
				}
			}
		}
	}
	this.flipMenu = function(object) {
		this.state = object.src.indexOf("_a.gif");
		arr = object.parentNode.className.split("_");
		type = arr[0];
		if(this.state == -1) {
			object.src = this.path + type + "_" + object.id + "_a.gif";
		} else {
			object.src = this.path + type + "_" + object.id + ".gif";
		}
	}
}