// Create ActiveXObject
function getHTTPObject() {
	var http = false;
	//Use IE's ActiveX items to load the file.
	if(typeof ActiveXObject != 'undefined') {
		try {http = new ActiveXObject("Msxml2.XMLHTTP");}
		catch (e) {
			try {http = new ActiveXObject("Microsoft.XMLHTTP");}
			catch (E) {http = false;}
		}
	//If ActiveX is not available, use the XMLHttpRequest of Firefox/Mozilla etc. to load the document.
	} else if (XMLHttpRequest) {
		try {http = new XMLHttpRequest();}
		catch (e) {http = false;}
	}
	return http;
}
var xmlHttp = getHTTPObject();
var lastText;
var keyeventet;
var lastkeyevent;

function textboxSelect (oTextbox, iStart, iEnd) {

   switch(arguments.length) {
       case 1:
           oTextbox.select();
           break;

       case 2:
           iEnd = oTextbox.value.length;
           /* falls through */
           
       case 3:          
           if (isIE) {
               var oRange = oTextbox.createTextRange();
               oRange.moveStart("character", iStart);
               oRange.moveEnd("character", -oTextbox.value.length + iEnd);      
               oRange.select();                                              
           } else if (isMoz){
               oTextbox.setSelectionRange(iStart, iEnd);
           }                    
   }

   oTextbox.focus();
}

function setSelectionRange(input, selectionStart, selectionEnd)

{
if (input.setSelectionRange) {
input.focus();
input.setSelectionRange(selectionStart, selectionEnd);
}
else if (input.createTextRange) {
var range = input.createTextRange();
range.collapse(true);
range.moveEnd('character', selectionEnd);
range.moveStart('character', selectionStart);
range.select();
}
}

	function textsizer(e){
	var evtobj=window.event? event : e //distinguish between IE's explicit event object (window.event) and Firefox's implicit.
	var unicode=evtobj.charCode? evtobj.charCode : evtobj.keyCode
		keyeventet=unicode;
	
	}
	document.onkeypress=textsizer

function getSearchAlternative(){
	

	xmlHttp.open("GET","/getsearch.php?string="+document.getElementById('searchbox').value, true);
	
	
	// Körs när ändringar i objektet görs
	xmlHttp.onreadystatechange=function()
	{
		//alert("xmlHttp.readyState: "+xmlHttp.readyState+"\nxmlHttp.status: "+xmlHttp.status+"\nsearchbox.value: "+document.getElementById('searchbox').value+"\nkeyeventet: "+keyeventet);
		if(xmlHttp.readyState == 4 && xmlHttp.status == 200 && document.getElementById('searchbox').value!="" && keyeventet>=65 && keyeventet<=214 && lastkeyevent!=keyeventet) {
			var text=xmlHttp.responseText;
			var searchstr=document.getElementById('searchbox').value;
			document.getElementById('searchbox').value+=text;
			
			setSelectionRange(document.getElementById('searchbox'),searchstr.length,searchstr.length+text.length);
			
			document.getElementById('searchbox').focus();
			lastkeyevent=keyeventet;
		}
	
	}
	
	
	
	xmlHttp.send(null);
	
}

// Testa Användarnamn
function testUserName(element){
	
	if(element.value!=""){
	
	xmlHttp.open("GET","/testUser.php?name="+element.value, true);
	
	
	// Körs när ändringar i objektet görs
	xmlHttp.onreadystatechange=function()
	  {

	if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
		document.getElementById('returnUserCheck').innerHTML=xmlHttp.responseText;
	}
	
	}
	
	
	
	xmlHttp.send(null);
	
	}
	else
	document.getElementById('returnUserCheck').innerHTML="";
	
}

// Hämta postort
function getOrt(element){
	
	
	xmlHttp.open("GET","/getOrt.php?postnr="+element, true);
	
	
	// Körs när ändringar i objektet görs
	xmlHttp.onreadystatechange=function()
	  {

	if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
		
		document.getElementById('wwForm_RegisterMenu').CityName.value=xmlHttp.responseText;
	}
	
	}
	
	
	
	xmlHttp.send(null);
	
	
}

var Scroll = {

	

	to:function(id) {
		
				$.scrollTo("#"+id, 800);
				
	} //launch

				
};

var alter = {

	write_access:function(id,mod) {

		$.ajax({

			type:"GET",

			url:"/apps/moderator.php",

			data:"q="+id+"&m="+mod,

			success:function(data) {
				
				$("#writeaccess").html(data);
				
//				if (bool == 'true') {
//					
//					$("#writeaccessbutton").attr("onclick", "function onclick(event) { javascript:alter.write_access("+id+", 'false'); }");
//					
//				} else {
//					
//					$("#writeaccessbutton").attr("onclick", "function onclick(event) { javascript:alter.write_access("+id+", 'true'); }");
//					
//				}
//				
//				alert($("#writeaccessbutton").attr("onclick"));
							
			}

		});

	},
	
	remove_avatar:function(id,mod) {

		$.ajax({

			type:"GET",

			url:"/apps/moderator.php",

			data:"d="+id+"&m="+mod,

			success:function(data) {
				
				$("#thumb").remove();
											
			}

		});

	},
	
	guest_protect:function(id,vic,ver) {

		$.ajax({

			type:"GET",

			url:"/apps/guestbook.php",

			data:"q="+id+"&d="+vic+"&ver="+ver,

			success:function(data) {
				
//				if (data == 0) {
//						
//					$(".block"+vic).html(lang.block);
//						
//				} else {
//						
//					$(".block"+vic).html(lang.blocked);
//						
//				}
				
				$(".block"+vic).each(function() {
					
//					$(this).html(define);
						
					if (data == 0) {
							
						$(this).html(lang.block);
							
					} else {
							
						$(this).html(lang.blocked);
							
					}
						
				});
											
			}

		});

	},
	
	snow:function(val) {
		
		if($("#abort_snow").attr('class') == 'abort_snow') {
			
			$("#corner_left").html("");
			$("#corner_right").html("");
			$("#seasons").html("");
			
			$("#abort_snow").removeClass('abort_snow')
			
			.addClass('aborted_snow');
			
			document.cookie = 'abort_sun=true; path=/'
			
		} else if (val == "xmas") {
			
			var so = new SWFObject('/flash/contest/Snow.swf', '/flash/contest/Snow.swf', '700', '165', '#000000');
			so.addParam('scale', 'noscale');
			so.addParam('menu', 'false');
			so.addParam('wmode','transparent');
			so.write('seasons');
			
			var so = new SWFObject('/flash/contest/SnowHeight.swf', '/flash/contest/SnowHeight.swf', '150', '600', '#000000');
			so.addParam('scale', 'noscale');
			so.addParam('menu', 'false');
			so.addParam('wmode','transparent');
			so.write('corner_left');
			
			var so = new SWFObject('/flash/contest/SnowHeight.swf', '/flash/contest/SnowHeight.swf', '150', '600', '#000000');
			so.addParam('scale', 'noscale');
			so.addParam('menu', 'false');
			so.addParam('wmode','transparent');
			so.write('corner_right');
			
			$("#abort_snow").removeClass('aborted_snow')
			
			.addClass('abort_snow');
			
			document.cookie = 'abort_sun=; ; path=/'
			
		} else if (val == "newyear") {
			
			var so = new SWFObject('/flash/contest/Fireworks.swf', 'Banner', '700', '165', '#000000');
			so.addParam('scale', 'noscale');
			so.addParam('menu', 'false');
			so.addParam('wmode','transparent');
			so.write('seasons');
			
			$("#abort_snow").removeClass('aborted_snow')
			
			.addClass('abort_snow');
			
			document.cookie = 'abort_sun=; ; path=/'
			
		} else if (val == "valentine") {
			
			var so = new SWFObject('/flash/contest/Snow_hearts.swf', 'Banner', '700', '165', '#000000');
			so.addParam('scale', 'noscale');
			so.addParam('menu', 'false');
			so.addParam('wmode','transparent');
			so.write('seasons');
			
			$("#abort_snow").removeClass('aborted_snow')
			
			.addClass('abort_snow');
			
			document.cookie = 'abort_sun=; ; path=/'
			
		} else if (val == "summer") {
			
			var so = new SWFObject('/flash/contest/Sun.swf', 'Banner', '700', '165', '#000000');
			so.addParam('scale', 'noscale');
			so.addParam('menu', 'false');
			so.addParam('wmode','transparent');
			so.write('seasons');
			
			$("#abort_snow").removeClass('aborted_snow')
			
			.addClass('abort_snow');
			
			document.cookie = 'abort_sun=; ; path=/'
			
		}
		
	}

};

var update = {
	
	saldo:function(p) {
		
		$("#MainAreaSaldo").fadeTo(1400, 0, function() {

			$("#MainAreaSaldo").html(parseInt($("#MainAreaSaldo").html())+p)
			
			.fadeTo("fast", 1);

		});
		
	},
	
	stats:function(id) {
		
		$("#"+id).fadeTo("fast", 0, function() {

			$("#"+id).html(parseInt($("#"+id).html())-1)
			
			.fadeTo("fast", 1);

		});
		
	}
	
}
/*
Dialog v0.3
Can be used everywhere
*/
var dialog = {
	
	init:function(message, ok, cancel, width, height) {
		
		$("#dialog-message").html(message)
		dialog.button_ok(ok);
		dialog.button_cancel(cancel);
		if(width !== null) {
			$("#dialog").width(width);
		}
		if(height !== null) {
			$("#dialog").height(height);
		}
		
	},
	button_ok:function(func) {
		
		if(func == "") {
			
			$("#dialog-button-ok").hide();
			
		}
		else {
			
			$("#dialog-button-ok").click(function() {
				
				eval(func);
				
			}).show();
			
		}
		
	},
	button_cancel:function(func) {
		
		if(func == "") {
			
			$("#dialog-button-cancel").hide();
			
		}
		else {
			
			$("#dialog-button-cancel").click(function() {
				
				eval(func);
				
			}).show();
			
		}
		
	},
	message:function(html) {
		
		$("#dialog-container").html(html);
		
	},
	open:function() {
		
		var fullheight = ($.browser.opera) ? document.innerHeight : $(document).height();
		$("#overlay")
			.height(fullheight)
			.show()
			.fadeTo("fast", 0.59);
		//var x = ($(window).width()/2)-($("#dialog").width()/2) < 0 ? 0 : ($(window).width()/2)-($("#dialog").width()/2);
		//var y = ($(window).height()/2)-($("#dialog").height()/2) < 0 ? 0 : ($(window).height()/2)-($("#dialog").height()/2)+$(window).scrollTop();
		var x = ($(window).width()/2)-($("#dialog").width()/2) < 0 ? 0 : ($(window).width()/2)-($("#dialog").width()/2);
		var y = ($(window).height()/2)-($("#dialog").height()/2) < 0 ? 0 : ($(window).height()/2)-($("#dialog").height()/2);
		$("#dialog")
			.css("top", y)
			.css("left", x)
			.show();
		$.scrollTo("#overlay", 800);
		
	},
	close:function() {
		
		$("#dialog").hide();
		$("#overlay").fadeTo("fast", 0, function() {
			
			$("#overlay").hide();
			
		});
		
	}
	
};

//send PM/SMS
function send_message() {
	var values = $("#form-send-message").serialize();
	$.ajax({
		url:"/ajax/send_message.php",
		type:"GET",
		data:values,
		dataType:"json",
		success:function(data) {
			if(data.error) {
				alert(data.message);
			}
			else {
				alert("Meddelandet har skickats iväg.");
				$("#form-send-message textarea[name=message]").val("");
				$("#char-count").html("");
			}
		},
		error:function() {
			alert("FEL: Ett system fel har inträffats. Kontakta supporten.");
		}
	});
	
	return false;
} // send_message()

function countchars(that, there) {
	//take count of that textarea
	var count = $(that).val().length;
	//and place it there
	var text = (count == 0 ? "" : count + (count == 1 ? " symbol" : " symboler"));
	$(there).html(text);
} // countchars()


/*
Better version of dialog.
*/
var dialogue = {
	defaults:{
		holder:"#dialogue",
		content:"",
		buttons:[],
		width:465,
		height:348
	},
	options:{},
	init:function(options) {
		dialogue.options = $.extend({}, dialogue.defaults, options);
		//setup holder
		var holder = dialogue.options.holder;
		$(holder)
			.html('')
			.width(dialogue.options.width)
			.height(dialogue.options.height)
			.append('<div class="button-close" />')
			.append('<div class="header" />')
			.append('<div class="content" />')
			.append('<div class="buttons" />');
		$(holder + " .button-close").click(function() {
			dialogue.close();
		});
		$(holder + " .content").html(dialogue.options.content);
		for(var i = 0; i < dialogue.options.buttons.length; i++) {
			dialogue.addButton(dialogue.options.buttons[i]);
		}
	}, // init()
	open:function() {
		var innerHeight = ($.browser.opera) ? document.innerHeight : $(document).height();
		$("#overlay")
			.height(innerHeight)
			.show()
			.fadeTo("fast", 0.59);
		var x = ($(window).width()/2)-($(dialogue.options.holder).width()/2) < 0 ? 0 : ($(window).width()/2)-($(dialogue.options.holder).width()/2);
		var y = ($(window).height()/2)-($(dialogue.options.holder).height()/2) + $(window).scollTop() < 0 ? 0 : ($(window).height()/2)-($(dialogue.options.holder).height()/2) + $(window).scollTop();
		$("#dialog")
			.css("top", y)
			.css("left", x)
			.show();
		$(dialogue.options.holder)
			.css("top", y)
			.css("left", x)
			.show();
	}, // open()
	close:function() {
		$(dialogue.options.holder).hide();
		$("#overlay").fadeTo("fast", 0, function() {
			$("#overlay").hide();
		});
	}, // close()
	addButton:function(button) {
		$(holder + " .buttons").append('<a id="button-' + button.name + '" class="buttons" href="' + window.location + '"><span>' + button.label + '</span></a>');
		$("#button-" + button.name).click(function() {
			eval(button.action);
		});
	}, // addButton
	removeButton:function(name) {
		$("#button-" + name).remove();
	} // removeButton()
};

var occasions = {
	
	do_once: true,
	
	success: "Grattis! Du har precis blivit 25 poäng rikare!",
	
	too_late: "Tyvärr, någon annan hann före dig med att ta poängen.",
	
	error: "Ett fel uppstod.",
	
	not_logged: "Du är inte inloggad!",
	
	claim:function(id) {
		
		if (occasions.do_once) {
		
		occasions.do_once = false;
		
		$.ajax({

			type:"POST",

			url:"/apps/extras.php",

			data:"e=occasion&id="+id,

			success:function(data) {
				
				$("#ad_treat").remove();
				
				if (data == "success") {
					alert(occasions.success);
					update.saldo(25);
				} else if (data == "too_late") {
					alert(occasions.too_late);
				} else if (data == "not_logged") {
					alert(occasions.not_logged);
				} else {
					alert(occasions.error);
				}
				
				occasions.do_once = true;
		
			}

		});
		
		}
		
	}
	
};

var swap = {
	
	classes:function(one,two) {
		
		var id_one = $("."+one);
		
		var id_two = $("."+two);
		
		id_one.removeClass(one)
			.addClass(two);
			
		id_two.removeClass(two)
			.addClass(one);
		
	}
	
};

$("#recruiter-tabs a").live("click", function() {
	$("#recruiter-tabs a").removeClass('recruiter-tab')
		.addClass('recruiter-tab-inactive');
	$(this).removeClass('recruiter-tab-inactive')
		.addClass('recruiter-tab');
	
	$(".flash_tab").hide();
	$("#"+$(this).attr("affect")).show();
});

var tab = {
	
	classes:function(id) {
		
		var h = $("#"+id);
		
		$(".recruiter-tab").removeClass('recruiter-tab')
			.addClass('recruiter-tab-inactive');
		
		h.removeClass('recruiter-tab-inactive')
			.addClass('recruiter-tab');
		
	},
	
	flash:function(id) {
		
		var h = $("#"+id);
		
		$(".flash_tab").hide();
		
		h.show();
		
	}
	
}

var pointmenu = {
	
	browsing:true,
	
	do_once:true,
	
	success: "Dina annonser är nu sparade så att du kan följa dina handlingar.",
	
	error: "Ett fel uppstod.",
	
	not_logged: "Du är inte inloggad!",
	
	on_over:function(id) {
		
		if (pointmenu.browsing) {
			
			$("#pointmenu_present_start").hide();
			$(".pointmenu_findme").hide();
			
			$("#pointmenu_"+id).show();
			$("#pointmenu_img_"+id).show();
			
		}
		
	}, 
	
	on_out:function() {
		
		if (pointmenu.browsing) {
			
			$(".pointmenu_findme").hide();
			
			$("#pointmenu_present_start").show();
						
		}
		
	},
	
	on_click:function(id) {
			
		pointmenu.browsing = false;
			
		$("#pointmenu_present_start").hide();
		$(".pointmenu_findme").hide();
		
		$("#pointmenu_"+id).show();
		$("#pointmenu_img_"+id).show();
		
	},
	
	save:function(type) {
		
		if (pointmenu.do_once) {
			
			pointmenu.do_once = false;
			
			var id = $("#PointMenuAds").val();
				
			$.ajax({
	
				type:"POST",
	
				url:"/apps/extras.php",
	
				data:"e=saveads&id="+id+"&type="+type,
	
				success:function(data) {
					
					if (data == "success") {
						alert(pointmenu.success);
					} else if (data == "not_logged") {
						alert(pointmenu.not_logged);
					} else {
						alert(pointmenu.error);
					}
					
					pointmenu.do_once = true;
			
				}
	
			});
				
		}
		
	}
	
}

var activity = {
	
	check:function() {
			
		window.setTimeout('activity.twice()',2000);
		
	},
	
	twice:function() {
		
		var url = $("#activitybar").css('background-image');
		
		var image = parseInt(url.match(/[\d]+/g)[0]);
		
		if (image>=4) {
			
			$("#activitybar").css('background-image','url(/img/activity_bar/activity_bar_1_ani.gif)');
			
		} else {
			
			$("#activitybar").css('background-image','url(/img/activity_bar/activity_bar_'+(image+1)+'_ani.gif)');
			
		}
		
	}
	
}

var tutorial = {
	
	flash:false,
	
	start:function() {
		
		if (!tutorial.flash) {
			tutorial.flash = new SWFObject('/flash/Tutorial/Preload_Tutorial.swf', '/flash/Tutorial/Preload_Tutorial.swf', '800', '500', '#000000');
			tutorial.flash.addParam('scale', 'noscale');
			tutorial.flash.addParam('menu', 'false');
			tutorial.flash.addParam('wmode','transparent');
			tutorial.flash.addVariable('path','/flash/Tutorial/');
		}
		
		tutorial.flash.write('TutorialContent');
		
		if($.browser.opera)
			var height = document.innerHeight;
		else
			var height = $(document).height();
		
		$("#overlay").height(height)
			.show()
			.fadeTo("fast", 0.59);
		var x = ($(window).width()/2)-($("#Tutorial").width()/2);
		var y = ($(window).height()/2)-($("#Tutorial").height()/2);
		$("#Tutorial").show()
			.css("left", x)
			.css("top", y);
		$.scrollTo("#overlay", 800);
		
	},
	
	end:function() {
		
		$("#overlay").fadeTo("fast", 0, function () {
			
			$("#overlay").hide();
			
		});
		
		$("#TutorialContent").html("");
		
		$("#Tutorial").hide();
		
	}
	
}


$("#left_items_button").live("click", function() {
	if ($(this).attr("class") == 'left_items_on') {
		$(".left_item").hide();
		$(this).removeClass("left_items_on")
			.addClass("left_items_off");
		document.cookie = 'hide_left_items=true; ; path=/'
	} else {
		$(".left_item").show();
		$(this).removeClass("left_items_off")
			.addClass("left_items_on");
		document.cookie = 'hide_left_items=; ; path=/'
	}
});

$(".tooltip").live("mouseover", function() {
	$("#hover_message").show()
		.html($(this).attr("value"));
});
$(".tooltip").live("mouseout", function() {
	$("#hover_message").hide();
});
$(document).mousemove(function(e) {
	if ($("#hover_message").css("display") != "none") {
		var p_x			=	e.pageX;
		var p_y			=	e.pageY;
		var top			=	$(window).scrollTop();
		var left		=	$(window).scrollLeft();
		var w_width		=	$(window).width();
		var w_height	=	$(window).height();
		var width		=	$("#hover_message").width();
		var height		=	$("#hover_message").height();
		var offset		=	15;
		
		if (p_x+width+offset+12 > left+w_width) {
			if (p_x-width-offset < left)
				x	=	left;
			else x	=	p_x - width - offset;
		} else x	=	p_x + offset;
		if (p_y+height+offset+12 > top+w_height) {
			y		=	top + w_height - height - offset + 12;
		} else y	=	p_y + offset;
		
		$("#hover_message").css("left",x+"px")
			.css("top",y+"px");
	}
});

function dateportal() {
	window.location='/mypages/dates';
}

$("a[dateportal]").live("click", function() {
	var h	=	$(this).attr("dateportal");
	$.ajax({
		type:"POST",
		url:"/apps/dateportal.php",
		data:h,
		success:function(data) {
			alert(data);
		}
	});
});

$("#newemail_wrapper a.button").live("click", function() {
	NewEmail();
});
$("#newemail").live("keypress", function (e) {
	var code	=	(e.keyCode ? e.keyCode : e.which);
	if (code == 13) {
		NewEmail();
	}
});

function NewEmail() {
	var h	=	$("#newemail").val();
	if (h != "") {
		if (h != $("newemail_double").html()) {
			if (h.replace(/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/i, "") == "") {
				var kay	=	confirm("Vill du uppdatera din emailadress till "+h+"?");
				$.ajax({
					type:"POST",
					url:"/apps/sendmail.php",
					data:"type=newemail&newemail="+h,
					success:function(data) {
						alert(data);
					}
				});
			} else alert("Din emailadress stämmer inte.");
		} else alert("Din \"nya\" emailadress är likadan som din gamla.");
	} else alert("Vänligen ange din nya emailadress.");
}

$("#kmu_popup").live("click", function() {
	window.open("/keepmeupdated", "KMU", "menubar=no,width=600,height=350,toolbar=no");
});

$("#src").live("keypress", function (e) {
	var code	=	(e.keyCode ? e.keyCode : e.which);
	if (code == 13) {
		$('#search_form').submit();
	}
});

$("form#mail_chooser a.button").live("click", function() {
	$.ajax({
		type:"POST",
		url:"/apps/sendmail.php",
		data:"type=choose&"+$("form#mail_chooser").serialize(),
		success:function(data) {
			alert(data);
		}
	});
});

$(function() {
	$("a#fb_guide_act").bind("click", function() {
		if($.browser.opera)
			var height = document.innerHeight;
		else
			var height = $(document).height();
		
		$("#fb_overlay").height(height)
			.show()
			.fadeTo("fast", 0.59);
		var x = ($(window).width()/2)-($("#fb_guide").width()/2);
		var y = ($(window).height()/2)-($("#fb_guide").height()/2);
		if (y < 50)
			y	=	50;
		$("#fb_guide").show()
			.fadeIn()
			.css("left", x)
			.css("top", y);
		$.scrollTo("#fb_overlay", 800);
	});
	
	$("div#fb_overlay").bind("click", function() {
		$("#fb_overlay").fadeTo("fast", 0, function() {
			$(this).hide();
		});
		$("#fb_guide").hide();
	});
	
	$("div#accept_mail, div#decline_mail").bind("click", function() {
		$.ajax({
			type:"POST",
			url:"/apps/sendmail.php",
			data:"sign="+$(this).attr("accept"),
			success:function(data) {
				alert(data);
			}
		});
	});
	
});

$(function() {
	$("input.blog_campaign_image").bind("focus, click", function() {
		$(this).select();
	});
	
	$("input.blog_campaign_image").parent().find("div:first").each(function() {
		$(this).html("Bredd: "+$(this).parent().find("img").width()+"px x Höjd: "+$(this).parent().find("img").height()+"px");
	});
})