﻿/*
Copyright 2010, Piotr Opioła
All rights reserved.
http://pageproject.pl
*/

function list_elem_sel(select, elem_desc) {
	if (select.selectedIndex < 0) {
		return;
	}
	var opt = select.options[select.selectedIndex];
	var fieldset = document.getElementById(elem_desc);
	var inputs = fieldset.getElementsByTagName('input');
	var str = opt.value;
	var pos = 0;
	var i = 0;
	while (str.indexOf("#", pos) > -1) {
		var pos2 = str.indexOf("#", pos);
		inputs[i++].value = str.substr(pos, pos2 - pos);
		pos = pos2 + 1;
	}
}

function list_elem_change(code) {
	var select = document.getElementById(code);
	if (select.selectedIndex < 0) {
		return;
	}
	var fieldset = document.getElementById(code + '_elem');
	var inputs = fieldset.getElementsByTagName('input');
	var opt = select.options[select.selectedIndex];
	var items = "";
	for (i = 0; i < inputs.length; i++) {
		if (inputs[i].type == "text") {
			var str = inputs[i].value.replace(/#/g,' ');
			items = items + str + "#";
		}
	}
	opt.value = items;
	opt.innerHTML = inputs[1].value;
}

function list_elem_add(code) {
	var select = document.getElementById(code);
	var fieldset = document.getElementById(code + '_elem');
	var inputs = fieldset.getElementsByTagName('input');
	var opts = select.options;
	var items = "";
	var name = inputs[1].value;
	if (code == 'edit_menu_form_menu_element_list') {
		var str = opts[opts.length-1].value;
		var pos = str.indexOf('company_subpage') + 15;
		var n = opts.length+1;
		if (pos > -1) {
			var pos2 = str.indexOf('#', pos);
			var n2 = parseInt(str.substr(pos,pos2-pos)) + 1;
			if (n2 > n) {
				n = n2;
			}
		}
		items = '#Nowa podstrona#index.php?page=company_subpage' + n + '#';
		name = 'Nowa podstrona';
	} else {
		for (i = 0; i < inputs.length; i++) {
			if (inputs[i].type == "text") {
				items = items + inputs[i].value + "#";
			}
		}
	}
	var opt = new Option(name, items);
	opts[opts.length] = opt;
	select.selectedIndex = opts.length-1;
	list_elem_sel(select, fieldset.id);
}

removed_index = 0;
removed = null;

function list_elem_remove(code) {
	var select = document.getElementById(code);
	if (select.selectedIndex < 0) {
		return;
	}
	var opts = select.options;
	removed = opts[select.selectedIndex];
	removed_index = select.selectedIndex;
	select.remove(select.selectedIndex);
	var fieldset = document.getElementById(code + '_elem');
	var inputs = fieldset.getElementsByTagName('input');
	inputs[inputs.length-1].style.visibility = "visible";
}

function list_elem_restore(code) {
	if (removed == null) {
		return;
	}
	var select = document.getElementById(code);
	var opts = select.options;
	var index = select.selectedIndex;
	if (index < 0) {
		index = removed_index;
	}
	if (index > opts.length-1) {
		opts[opts.length] = removed;
	} else {
		select.add(removed, opts[index]);
	}
	removed = null;
	var fieldset = document.getElementById(code + '_elem');
	var inputs = fieldset.getElementsByTagName('input');
	inputs[inputs.length-1].style.visibility = "hidden";
}

function list_elem_moveup(code) {
	var select = document.getElementById(code);
	if (select.selectedIndex == 0) {
		return;
	}
	var opts = select.options;
	var index = select.selectedIndex;
	var opt = opts[index];
	var opt2 = opts[index-1];
	select.remove(index);
	select.add(opt, opt2);
}

function list_elem_movedown(code) {
	var select = document.getElementById(code);
	var opts = select.options;
	if (select.selectedIndex == opts.length-1) {
		return;
	}
	var index = select.selectedIndex;
	var opt = opts[index];
	select.remove(index);
	if (index < opts.length-1) {
		var opt2 = opts[index+1];
		select.add(opt, opt2);
	} else {
		opts[index+1] = opt;
	}
}

function form_photo_sel(photo) {
	photos = photo.parentNode.getElementsByTagName('div');
	for (i = 0; i < photos.length; i++) {
		if (photos[i].className.indexOf('photo') > -1) { 
			photos[i].className = "photo";
		}
	}
	photo.className = "photo selected";
}

function form_photo_set(parent2, photo) {
	filename = photo.getElementsByTagName('div')[0].innerHTML;
	mini = parent2.getElementsByTagName('fieldset')[0];
	divs = mini.getElementsByTagName('div');
	img = divs[0].getElementsByTagName('img')[0];
	img.src = "images/" + filename;
	divs[1].innerHTML = filename;
	input = mini.getElementsByTagName('input')[0];
	size = input.value.substr(0, input.value.indexOf('#'));
	input.value = size + '#' + filename;
}

function form_photo_set2(button) {
	parent2 = button.parentNode.parentNode;
	divs = parent2.getElementsByTagName('div');
	rows = null;
	for (i = 0; i < divs.length; i++) {
		if (divs[i].className == "wrapper") {
			rows = divs[i].getElementsByTagName('div');
			break;
		}
	}
	filename = null;
	for (i = 0; i < rows.length; i++) {
		if (rows[i].className == "field selected") {
			filename = rows[i].innerHTML;
			break;
		}
	}
	if (!filename) {
		return;
	}
	parent2 = parent2.parentNode;
	mini = parent2.getElementsByTagName('fieldset')[0];
	divs = mini.getElementsByTagName('div');
	img = divs[0].getElementsByTagName('img')[0];
	img.src = "images/" + filename;
	divs[1].innerHTML = filename;
	input = mini.getElementsByTagName('input')[0];
	size = input.value.substr(0, input.value.indexOf('#'));
	input.value = size + '#' + filename;
}

function form_photos_val(photos) {
	var val = '';
	for (var i = 0; i < photos.length; i++) {
		if (photos[i].className == "filename") {
			val += '##' + photos[i].innerHTML + '#';
		}
	}
	return val;
}

function form_photo_add(parent2, photo) {
	filename = photo.getElementsByTagName('div')[0].innerHTML;
	list = parent2.getElementsByTagName('fieldset')[0];
	divs = list.getElementsByTagName('div');
	images = divs[1];
	photo = document.createElement('div');
	photo.className = "photo";
	photo.setAttribute("onClick", "form_photo_sel(this)");
	photo.setAttribute("onDblClick", "form_photo_remove(this)");
	img = document.createElement('img');
	img.src = "images/" + filename;
	img.style.width = "auto";
	filename_div = document.createElement('div');
	filename_div.className = "filename";
	filename_div.innerHTML = filename;
	photo.appendChild(img);
	photo.appendChild(filename_div);
	photos.appendChild(photo);
	input = list.getElementsByTagName('input')[0];
	photos = photos.getElementsByTagName('div');
	size = input.value.substr(0, input.value.indexOf('#'));
	input.value = size + '#' + form_photos_val(photos);
}

function form_photo_add2(button) {
	parent2 = button.parentNode.parentNode;
	divs = parent2.getElementsByTagName('div');
	rows = null;
	for (i = 0; i < divs.length; i++) {
		if (divs[i].className == "wrapper") {
			rows = divs[i].getElementsByTagName('div');
			break;
		}
	}
	filename = null;
	for (i = 0; i < rows.length; i++) {
		if (rows[i].className == "field selected") {
			filename = rows[i].innerHTML;
			break;
		}
	}
	if (!filename) {
		return;
	}
	parent2 = parent2.parentNode;
	list = parent2.getElementsByTagName('fieldset')[0];
	divs = list.getElementsByTagName('div');
	photos = divs[1];
	photo = document.createElement('div');
	photo.className = "photo";
	photo.setAttribute("onClick", "form_photo_sel(this)");
	photo.setAttribute("onDblClick", "form_photo_remove(this)");
	img = document.createElement('img');
	img.src = "images/" + filename;
	img.style.width = "auto";
	filename_div = document.createElement('div');
	filename_div.className = "filename";
	filename_div.innerHTML = filename;
	photo.appendChild(img);
	photo.appendChild(filename_div);
	photos.appendChild(photo);
	input = list.getElementsByTagName('input')[0];
	photos = photos.getElementsByTagName('div');
	size = input.value.substr(0, input.value.indexOf('#'));
	input.value = size + '#' + form_photos_val(photos);
}

function refresh_photos(filename, dim, size, id2, def_size) {
	doc = parent.document;
	fieldsets = doc.getElementsByTagName('fieldset');
	many = false;
	for (var i = 0; i < fieldsets.length; i++) {
		if (fieldsets[i].className == 'photos') {
			many = true;
		}
		if (fieldsets[i].className == 'photo') {
			many = false;
		}
		if (fieldsets[i].className == 'photo' || fieldsets[i].className == 'photos') {
			if (fieldsets[i].parentNode.id == id2) {
				input = fieldsets[i].getElementsByTagName('input')[0];
				val = input.value.substr(input.value.indexOf('#')+1);
				input.value = def_size + '#' + val;
			}
		}
		if (fieldsets[i].className == 'server_photos') {
			table = fieldsets[i].getElementsByTagName('div')[2];
			rows = table.getElementsByTagName('div');
			for (j = 0; j < rows.length; j++) {
				if (rows[j].className.indexOf('field') > -1) { 
					rows[j].className = "field";
				}
			}
			row = document.createElement('div');
			row.className = "row";
			row.setAttribute("onClick", "table_row_sel(this)");
			field = document.createElement('div');
			field.className = "field selected";
			field.style.width = "200px";
			field.innerHTML = filename;
			row.appendChild(field);
			field = document.createElement('div');
			field.className = "field selected";
			field.style.width = "100px";
			field.style.textAlign = "right";
			field.innerHTML = dim;
			row.appendChild(field);
			field = document.createElement('div');
			field.className = "field selected";
			field.style.width = "80px";
			field.style.textAlign = "right";
			field.innerHTML = size;
			row.appendChild(field);
			table.appendChild(row);
			photo = document.createElement('div');
			photo.className = "photo";
			photo.setAttribute("onClick", "form_photo_sel(this)");
			img = document.createElement('img');
			img.src = "images/" + filename;
			filename_div = document.createElement('div');
			filename_div.className = "filename";
			filename_div.innerHTML = filename;
			photo.appendChild(img);
			photo.appendChild(filename_div);
			photo.className = "photo selected";
			component = fieldsets[i].parentNode;
			if (many) {
				if (component.id == id2) {
					form_photo_add(component, photo);
				}
			} else {
				if (component.id == id2) {
					form_photo_set(component, photo);
				}
			}
		}
	}
}

function form_photo_remove(photo) {
	parent2 = photo.parentNode;
	photos = parent2.getElementsByTagName('div');
	parent2.removeChild(photo);
	list = parent2.parentNode.parentNode;
	input = list.getElementsByTagName('input')[0];
	size = input.value.substr(0, input.value.indexOf('#'));
	input.value = size + '#' + form_photos_val(photos);
}

function form_photo_remove2(button) {
	field = button.parentNode.parentNode;
	parent2 = field.getElementsByTagName('div')[1];
	photos = parent2.getElementsByTagName('div');
	photo = null;
	for (i = 0; i < photos.length; i++) {
		if (photos[i].className == "photo selected") {
			photo = photos[i];
		}
	}
	parent2.removeChild(photo);
	list = field;
	input = list.getElementsByTagName('input')[0];
	size = input.value.substr(0, input.value.indexOf('#'));
	input.value = size + '#' + form_photos_val(photos);
}

function form_photo_remove3(button) {
	var field = button.parentNode;
	var photo = field.getElementsByTagName('div')[0];
	var img = photo.getElementsByTagName('img')[0];
	var name = photo.getElementsByTagName('div')[0];
	img.src = '';
	name.innerHTML = '';
	input = field.getElementsByTagName('input')[0];
	size = input.value.substr(0, input.value.indexOf('#'));
	input.value = size + '#';
}

function form_photo_moveup(button) {
	field = button.parentNode.parentNode;
	parent2 = field.getElementsByTagName('div')[1];
	photos = parent2.getElementsByTagName('div');
	photo = null;
	photo2 = null;
	for (i = 0; i < photos.length; i++) {
		if (photo == null && photos[i].className == "photo") {
			photo2 = photos[i];
		} else if (photos[i].className == "photo selected") {
			photo = photos[i];
		}
	}
	if (photo2 != null) {
		parent2.removeChild(photo);
		parent2.insertBefore(photo, photo2);
	}
	input = field.getElementsByTagName('input')[0];
	size = input.value.substr(0, input.value.indexOf('#'));
	input.value = size + '#' + form_photos_val(photos);
}

function form_photo_movedown(button) {
	field = button.parentNode.parentNode;
	parent2 = field.getElementsByTagName('div')[1];
	photos = parent2.getElementsByTagName('div');
	photo = null;
	photo2 = null;
	for (i = 0; i < photos.length; i++) {
		if (photo != null && photo2 == null && photos[i].className == "photo") {
			photo2 = photos[i];
		} else if (photos[i].className == "photo selected") {
			photo = photos[i];
		}
	}
	if (photo2 != null) {
		parent2.removeChild(photo);
		parent2.insertBefore(photo, photo2.nextSibling);
	}
	input = field.getElementsByTagName('input')[0];
	size = input.value.substr(0, input.value.indexOf('#'));
	input.value = size + '#' + form_photos_val(photos);
}

function send_photo() {
	info2 = document.getElementById('info');
	info2.innerHTML = "Trwa ładowanie...";
}

function loading_done() {
	info2 = document.getElementById('info');
	info2.innerHTML = "OK";
}

function table_row_sel(row) {
	divs = row.parentNode.getElementsByTagName('div');
	for (i = 0; i < divs.length; i++) {
		if (divs[i].className.indexOf('field') > -1) { 
			divs[i].className = "field";
		}
	}
	divs = row.getElementsByTagName('div');
	for (i = 0; i < divs.length; i++) {
		divs[i].className = "field selected";
	}
}
