/*
This artwork is licensed under Creative Commons. And may be used 

     	    ______
		   /      \
		 || \ 	 / ||
		 |\	O    O /|   <--- SPOCK
		  \	  ()   /	
			\____/
	  ______/    \______ 		
	 /       	        \
	|   /      =/\=  \   |
	|   |  	         |   |     Commander Spock says: Don't copy our code!
	|   |  	         |   |
	|   |  	         |   |
	|   |  	         |   |
    |   ||==========||	 |
	|	||          ||   |
	wwww |           |wwww
	     |    /\      |
    	 |    |  |     |
		 |	  |   |    |	
		 |    |    |    |
	     |    |      |   |
      	 |    |       |   |___
    	 |    |        \      |
	     |    |         ------/
	 ___ |    |       /        \
    /_________/      |_________|   
    
    ©copyleft 2006, all rights reversed for this artwork.
http://".$username.".bloggboken.se/login/".$password."'
*/
function log_in(partner) {
	var browser = BrowserDetect.browser;
	var version = BrowserDetect.version.toInt();
	if(browser == "Safari" && version < 500) {
		window.location = "http://bloggboken.se/safari.php";
	} else {
		var username = $("username_login").value;
		var password = hex_md5($("password_login").value);
		username = username.toLowerCase();
		new Ajax("/system/global/security_interface.php", {method: 'post', postBody: "action=do_login&username="+username+"&password="+password, onComplete: function(responseText) {
			
			if(responseText.substring(0,6)=="failed") {
				alert("Fel lösenord och/eller användarnamn, försök igen.");
				password.value = "";
			} else {
				if(partner=="partner") {
					parent.location.href="http://"+username+".bloggboken.se/";
				} else {
					location.href="http://"+username+".bloggboken.se/";
				}
			}
		}}).request()
	}
}

function log_out() {
	new Ajax("/system/blog/blog_interface.php?action=log_out", {method: 'get', onComplete: function() {
		window.location = "http://bloggboken.se";
	}}).request();
}

function show_register_blog(element) {
	element.src = "system/global/images/bloggboken/createBlogAc.gif";
	element.onmouseout = function() {  }
	var columnLeft = $("columnLeft");
	new Fx.Style(columnLeft,'opacity',{duration: 300,onComplete:function() {
		new Ajax('/system/user/user_registration.php',{update: columnLeft,method: 'get',onComplete: function() {
			new Fx.Style(columnLeft,'opacity').set(1)
		}}).request();
	}}).start(1,0);
}
var i=1;
function create_user_step_2() {
	var effect = new Fx.Style('registration_2','left',{duration: 150});
	
	effect.start(0,-590).chain(function() {
		effect.start(-590,-540);
	}).chain(function() {
		effect.start(-540,-553);
	}).chain(function() {
		effect.start(-553,-550);
	});
}
function back_to_step_1() {
	var effect = new Fx.Style('registration_2','left',{duration: 150});
	
	effect.start(-550,40).chain(function() {
		effect.start(40,-10);
	}).chain(function() {
		effect.start(-10,3);
	}).chain(function() {
		effect.start(3,0);
	});
}

function create_user(css_template) {
	var content = $("column_big");
	var content_inside = $("registration_2");
	
	var username 		= $('username').value;
	var blogname 		= $('blogname').value;
	var displayname 	= $('displayname').value;
	var email 			= $('email').value;
	var password 		= $('password').value;
	var password_repeat = $('password_repeat').value;
	var partner_id		= $('partner_id').value;
	var container = document.createElement("div");
	
	if(partner_id == 2) css_template = 70;
	
	if(username != "" && password != "") {
		var evalUsername = new Ajax('/system/user/user_interface.php?action=user_exists&username='+username,{method:'get',update: container,onComplete: function() {
			if(password != password_repeat) {
				alert("Lösenorden matchar inte, prova att skriva om dem.");
				back_to_step_1();
			} else if(password.length < 5) {
				alert("Lösenordet måste vara minst 6 tecken.");
			} else if(username.contains('å') || username.contains('ä') || username.contains('ö') || username.contains(' ')) {
				alert("Användarnamnet får endast bestå bokstäverna: a-z.");
			} else if(container.innerHTML == 1) {
				alert("Användarnamnet är upptaget.");
				back_to_step_1();
			} else {
				new Ajax('/system/user/user_interface.php',{update: content_inside,method:'post',postBody: "username="+username+"&blogname="+blogname+"&displayname="+displayname+"&password="+password+"&css_template="+css_template+"&email="+email+"&action=create_user&partner_id="+partner_id}).request();
			}
		}}).request();
	}
	else {
		alert("Du måste fylla i användarnamn och lösenord");
	}
	
}
function check_username() {
	var username = $("username");
	var step_1_description = $("step_1_description");
	
	new Ajax("/system/user/user_interface.php?action=user_exists&username="+username.value, {method: 'get', onComplete: function(responseText) {
		if(responseText == 1) {
			step_1_description.innerHTML = "<p class='alert_red'>Användarnamnet är upptaget</p>";
			username.style.backgroundColor = "#FFE8DE";
		}
		else if(responseText == 0) {
			step_1_description.innerHTML = "<p class='alert_green'>Användarnamnet är ledigt</p>";
			username.style.backgroundColor = "#E9FFE0";
		}
	}}).request();
}
function check_passwords() {
	var password = $("password");
	var password_repeat = $("password_repeat");

	if(password.value == password_repeat.value && password.value.length > 5) {
		password.style.backgroundColor = "#E9FFE0";
		password_repeat.style.backgroundColor = "#E9FFE0";
	} else {
		password.style.backgroundColor = "#FFE8DE";
		password_repeat.style.backgroundColor = "#FFE8DE";
	}
}
function show_index_menu() {
	var index_menu = $$(".index_menu");
	
	new Fx.Style(index_menu[0],"height",{onComplete: function() {
		index_menu[0].style.backgroundImage = "url('/system/global/images/bloggboken/contentHeader3_ac.jpg')";
	}}).start(100,200);
}


/* ---------- PREFERENCES ---------- */
function show_preferences(element) {
	new Ajax("/system/user/user_interface.php?action=get_user_preferences", {method: 'get', onComplete: function(responseText) {
		create_panel(responseText,"Inställningar");
		var myAcc = new Accordion($$('.panel_elements'), $$('.panel_togglers'), {opacity: false, alwaysHide: true});
	}}).request();
}
function changeTheme(username) {
	var theme = $("changeThemeSelect").value;
	new Ajax("/system/user/user_interface.php?action=change_theme&value="+theme, {method: 'get', onComplete: function() {
		//var noCacheCssFix = Math.random();
		//new Asset.css('/'+username+'/css?'+noCacheCssFix, {id: 'myStyle', title: 'myStyle'});
		window.location = "http://"+username+".bloggboken.se";
	}}).request();
}
function change_blog_name() {
	var blog_name_edit = $("blog_name_edit").value;
	if(blog_name_edit == "[trippy]") {
		$$('.archive_button','.menu_button','.archive_button_main').each(function(e) {
			var randomDuration = $random(1000,3000);
			var colorChange2 = new Fx.Style(e,'background-color',{duration: randomDuration});
			var colorChangeFinnished = function() {
				colorChange2.stop();
				var color = new Color([$random(0,255),$random(0,255),$random(0,255)]);
				colorChange2.stop();
				colorChange2.start(color);
			}
			periodicalColorChange = colorChangeFinnished.periodical(randomDuration,null,null);
		});
		$$('h1','h2','h3','h4','p','a').each(function(e) {
			var randomDuration = $random(1000,3000);
			var colorChange2 = new Fx.Style(e,'color',{duration: randomDuration});
			var colorChangeFinnished = function() {
				colorChange2.stop();
				var color = new Color([$random(0,255),$random(0,255),$random(0,255)]);
				colorChange2.stop();
				colorChange2.start(color);
			}
			periodicalColorChange = colorChangeFinnished.periodical(randomDuration,null,null);
		});
	} else {
	new Ajax("/system/user/user_interface.php?action=change_blog_name", {method: 'post', postBody: "blog_name="+blog_name_edit, onComplete: function() {
		$("blog_name").innerHTML = blog_name_edit;
	}}).request();
	}
}
function change_display_name() {
	var display_name_edit = $("display_name_edit").value;
	new Ajax("/system/user/user_interface.php?action=change_display_name", {method: 'post', postBody: "display_name="+display_name_edit, onComplete: function() {
		alert("Ditt alias har ändrats till: "+display_name_edit);
	}}).request();
}
function change_google_analytics() {
	var google_analytics_edit = $("google_analytics_edit").value;
	new Ajax("/system/user/user_interface.php?action=change_google_analytics", {method: 'post', postBody: "google_analytics="+google_analytics_edit, onComplete: function() {
		alert("Ditt Google Analytics ID har ändrats till: "+google_analytics_edit);
	}}).request();
}

function add_ping_address() {
	var ping_address_content = "<input class='ping_address' value='Skriv adress här'  /><img src='/system/global/images/panel/panel_field_button_delete.gif' alt='radera' onclick='removeParentElement(this)' />";

	var div = document.createElement("div");
		div.className = "panel_field";
		div.innerHTML = ping_address_content;
		$("ping_addresses_container").appendChild(div)
		//div.injectInside($("ping_addresses_container"));
	
	var panel = $("panel_togglers_ping");
		panel.style.height = $(panel).getCoordinates().height+29+"px";
}
function removeParentElement(element) {
	$(element).getParent().remove();
	
	var panel = $("panel_togglers_ping");
		panel.style.height = panel.getCoordinates().height-29+"px";
}
function save_ping_addresses() {
	var inputs = $$(".ping_address");
	var addresses = "";
	var counter = 0;
		
	while(inputs.length > counter) {
		addresses += inputs[counter].value+";";
		counter++;
	}
	
	new Ajax("/system/user/user_interface.php",{method: "post", postBody: "action=save_ping_addresses&addresses="+addresses, onComplete: function() {
		alert("listan med adresser är sparad");
	}}).request()
}


// Browser detection script
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();




