var Hide = new Class({
	services: [],
	pedigree: {
		'far': {'name': '','far': {'name': '','far': {'name': ''},'mor': {'name': ''}},'mor': {'name': '','far': {'name': ''},'mor': {'name': ''}}},
		'mor': {'name': '','far': {'name': '','far': {'name': ''},'mor': {'name': ''}},'mor': {'name': '','far': {'name': ''},'mor': {'name': ''}}}
	},
	hide:function(id,old_id){
		$(id).className == "hidde" ? $(id).className = "unhidde" :$(id).className = "hidde";
		$(id+'_header').style.display == "none" ? $(id+'_header').style.display = "" :$(id+'_header').style.display = "none";
		
		$(old_id).className == "unhidde" ? $(old_id).className = "hidde" :$(old_id).className = "unhidde";
		$(old_id+'_header').style.display == "" ? $(old_id+'_header').style.display = "none" :$(old_id+'_header').style.display = "";
		hideCheckbox();
		//window.location.hash = '#step2';
		
	},
	addtocart: function(id,	mode){
		var navn = $('name_'+id).innerHTML;
		var sum = $('cost_'+id).innerHTML;
		if (mode != 'edit')
			this.createcost(navn,sum,id);
		$('btm_'+id).disabled = true;
		new Fx.Style('btm_'+id, 'opacity').set(0.5);
	},
	createcost: function(navn,sum,id){
		var addname = new Element('div', {'id': navn, 'class': 'addname'}).injectInside($('accept'));
		var clickEvt = function(){
			var allsum =parseInt($('sum').innerHTML) - parseInt(sum);
			$('sum').innerHTML = allsum;
			this.services.remove(id);
			addname.remove();
			$('btm_'+id).disabled = false;
			new Fx.Style('btm_'+id, 'opacity').start(0.5,1);
		};
		var del_btm = new Element('img',{
			'src':'/files/img/design/delete_ann.png',
			'class':'del_im'
		}).injectInside(addname);
		del_btm.onclick = clickEvt.bind(this);
		new Element('div',{
			'class':'navn'			
		}).setText(navn).injectInside(addname);
		new Element('div',{
			'class':'sum',
			'align':'right'			
		}).setText(sum+',-').injectInside(addname);
		var allsum =parseInt($('sum').innerHTML) + parseInt(sum);
		$('sum').innerHTML = allsum;
		this.services.push(id);
	},
	addPedigree: function (item, name){
		var items = item.match(/(.{3})/gi);
		switch (items.length){
			case 1:
				this.pedigree[items[0]]['name'] = name;
				break;
			case 2:
				this.pedigree[items[0]][items[1]]['name'] = name;
				break;
			case 3:
				this.pedigree[items[0]][items[1]][items[2]]['name'] = name;
				break;
		}
	},
	savePedigree: function (){
		function clearPedigree(arr){
			if (arr['far'])
				if (!arr['far']['name'].length) arr['far'] = null;
				else clearPedigree(arr['far']);
			if (arr['mor'])
				if (!arr['mor']['name'].length) arr['mor'] = null;
				else clearPedigree(arr['mor']);
		}
		clearPedigree(this.pedigree);
		$('pedigree').value = Json.toString(this.pedigree);
		$('addid').value = this.services;
	}
});


function treeItemChanged(item, name){
	h.addPedigree(item, name);
}

function loadServ(){
	if(profileServices !=''){
		if (!arguments[0]){
			h.hide('step2','step1');
			Json.evaluate(profileServices).each(function(service){
				h.addtocart(service,'edit');
			});
			if ($("basicAnnonce")) $("basicAnnonce").remove();
		}
	}
}

function treeLevelChanged(level){
	$('pedigreelevel').value = level
}

function swfpast(){
	var so = new SWFObject("/files/swf/tree.swf", "uploader", "503", "345", "9", "#FFFFFF");
				so.addParam("quality", "high");
				so.addParam("wmode", "opaque");
				so.addVariable("mode", "edit");
				if(pedy){
					pedy.each(function(el){
						so.addVariable(el[0], el[1]);
					});
				}
				
				so.write("pedigry");
}


window.onload = function(){
	h = new Hide;
	if (pedigri) h.pedigree = Json.evaluate(pedigri);
	$('profileForm').onsubmit = h.savePedigree.bind(h);
	swfpast();
	if(window.location.hash){
		if(window.location.hash == '#step2'){
			h.hide('step1','step2');
			loadServ("step2");
		}		
	}
	
};