
// Navigationeffects

function open_close(name) {
	if (document.getElementById(name).style.display == 'none') {
		new Effect.BlindDown((name), {duration: .10});
		}
		else {
			new Effect.BlindUp((name), {duration: .3});
		}
}

function openme(name) {
	if (document.getElementById(name).style.display == 'none') new Effect.BlindDown((name), {duration: .10});
}
	

function closeme(name) {
	if ($(name).style.display != 'none') new Effect.SwitchOff((name), {duration: .3}); 
}


function loggme() {
	if ($('logg').style.display != 'none') {
		open_close('logg');
	}
	else {
	for (var cats = document.getElementsByClassName('cat'), i = cats.length; i--;) closeme(cats[i].id);
	openme('logg');
	}
	
}

// Get project if hash

if (location.hash)
{

function hash_for_bookmark () {
	location.hash.substring(1);
	return location.hash.substring(1);
	}

function replace_tag () {
	var string = hash_for_bookmark();
	string.replace (/_/,"");
	return string.replace (/_/,"");
	}

getProjectData(replace_tag());

}


// Init

function init ()
{
	var projects = document.getElementsByClassName('project');
	for (var i = 0; i < projects.length; i++) {
			$(projects[i].id).onclick = function () {
				getProjectData(this.id);
				return false;

			}
	}
	
	for (var newsedit = document.getElementsByClassName('newsedit'), i = newsedit.length; i--;) makeEditable(newsedit[i].id);
	
}
		
		
// Rediger og slette

Event.observe(window, 'load', init, false);


function makeEditable(id){
	Event.observe(id, 'click', function(){edit($(id))}, false);
	Event.observe(id, 'mouseover', function(){showAsEditable($(id))}, false);
	Event.observe(id, 'mouseout', function(){showAsEditable($(id), true)}, false);
}

function edit(obj){
	Element.hide(obj);

	
	if (obj.id.slice(-6) == "tittel" ) {
		var textarea = '<div id="'+obj.id+'_editor"><input value="'+obj.innerHTML+'" id="'+obj.id+'_edit" name="'+obj.id+'" class="h4title" />';
		var button	 = '<div><input id="'+obj.id+'_save" type="button" value="Lagre" class="button" /></div></div>';
	}
	
	
	if (obj.id.slice(-6) == "protit" ) {
		var textarea = '<div id="'+obj.id+'_editor"><input value="'+obj.innerHTML+'" id="'+obj.id+'_edit" name="'+obj.id+'" class="protit" />';
		var button	 = '<div><input id="'+obj.id+'_save" type="button" value="Lagre" class="button" /> <input id="'+obj.id+'_cancel" type="button" value="Avbryt"  class="button" /></div></div>';
	}
	
	if (obj.id.slice(-6) == "prodes" ) {
				var textarea = '<div id="'+obj.id+'_editor"><input value="'+obj.innerHTML+'" id="'+obj.id+'_edit" name="'+obj.id+'" class="prodes"/>';
				var button	 = '<div class="margin-bottom"><input id="'+obj.id+'_save" type="button" value="Lagre" class="button" /> <input id="'+obj.id+'_cancel" type="button" value="Avbryt"  class="button" /></div></div>';
	}
	
	else {
		
		var textarea = '<div id="'+obj.id+'_editor"><textarea id="'+obj.id+'_edit" name="'+obj.id+'" rows="4" cols="60">'+obj.innerHTML+'</textarea>';
		var button	 = '<div class="margin-bottom"><input id="'+obj.id+'_save" type="button" value="Lagre" class="button" /> <input id="'+obj.id+'_delete" type="button" value="Slett"  class="button" /> <input id="'+obj.id+'_cancel" type="button" value="Avbryt"  class="button" /></div></div>';
	}
			
	new Insertion.After(obj, textarea+button);	
		
	Event.observe(obj.id+'_save', 'click', function(){saveChanges(obj)}, false);
	Event.observe(obj.id+'_delete', 'click', function(){deleteUp(obj)}, false);
	Event.observe(obj.id+'_cancel', 'click', function(){cleanUp(obj)}, false);
	
}



function showAsEditable(obj, clear){
	if (!clear){
		Element.addClassName(obj, 'editable');
	}else{
		Element.removeClassName(obj, 'editable');
	}
}

function saveChanges(obj){
	
	var new_content	=  escape($F(obj.id+'_edit'));

	obj.innerHTML	= "Lagrer...";
	cleanUp(obj, true);

	var success	= function(t){editComplete(t, obj);}
	var failure	= function(t){editFailed(t, obj);}

  	var url = 'news.php';
	var pars = 'id='+obj.id+'&content='+new_content;
	var myAjax = new Ajax.Request(url, {method:'post', postBody:pars, onSuccess:success, onFailure:failure});

}

function deleteUp(obj, keepEditable){
	Element.remove(obj.id+'_editor');
	Element.remove(obj.id+'tittel');
	
	var success	= function(t){editComplete(t, obj);}
	var failure	= function(t){editFailed(t, obj);}
	
	var url = 'delete.php';
	var pars = 'id='+obj.id;
	var myAjax = new Ajax.Request(url, {method:'post', postBody:pars, onSuccess:success, onFailure:failure});
	
}


function cleanUp(obj, keepEditable){
	Element.remove(obj.id+'_editor');
	Element.show(obj);
	if (!keepEditable) showAsEditable(obj, true);
}

function editComplete(t, obj){
	obj.innerHTML	= t.responseText;
	showAsEditable(obj, true);
}

function editFailed(t, obj){
	obj.innerHTML	= 'Det funka ikke';
	cleanUp(obj);
}


function getProjectData(id, preload) {
	var url = 'process.php';
	var rand = Math.random(9999);
	var pars = 'id=' + id + '&rand=' + rand;
	var preloadsrc = 'http://www.bokami.com/works/' + preload;
	var myAjax = new Ajax.Request( url, {method: 'get', parameters: pars, onLoading: showLoad, onComplete: showResponse, evalScripts: true} );
	var preloadImage = new Image(); 
	preloadImage.src = preloadsrc;
}

function showLoad () {
	$('load').style.display = 'block';
	$('load').innerHTML = 'Loading...';
}

function showResponse (originalRequest) {
	var newData = originalRequest.responseText;
	$('load').style.display = 'none';
	$('load').innerHTML = '';
	$('contentforimage').innerHTML = newData;
	openme('container');
	for (var newsedit = document.getElementsByClassName('newsedit'), i = newsedit.length; i--;) makeEditable(newsedit[i].id);

}