﻿// JavaScript Document

function button_onMouseOver(name, language) {

	document.images[name].src = "../_images/" + language + "/button/" + name + "_02.gif";
	
}

function button_onMouseOut(name, language) {

	document.images[name].src = "../_images/" + language + "/button/" + name + "_01.gif";
	
}

function blink(language) {
	img_ref = document.getElementById('news');
	img_ref.src = '../_images/' + language + '/button/introductionButton1_02.gif';
	setTimeout("img_ref.src = '../_images/" + language + "/button/introductionButton1_01.gif'", 700);
	setTimeout("blink('" + language + "')", 1400);

}

function redirect_count() {
		
		
	document.getElementById("number").innerHTML = "5";
		
		
	setTimeout("document.getElementById('number').innerHTML = '4'", 1000);


	setTimeout("document.getElementById('number').innerHTML = '3'", 2000);


	setTimeout("document.getElementById('number').innerHTML = '2'", 3000);


	setTimeout("document.getElementById('number').innerHTML = '1'", 4000);


	setTimeout("window.location = 'public.php?page_id=1&sidebar_id=1'", 5000);

}

function redirect_count02(page_id, sidebar_id, language) {

	var redirect_to = '../' + language + '/private.php?page_id=' + page_id + '&sidebar_id=' + sidebar_id;
		
	document.getElementById("number").innerHTML = "5";
		
		
	setTimeout("document.getElementById('number').innerHTML = '4'", 1000);


	setTimeout("document.getElementById('number').innerHTML = '3'", 2000);


	setTimeout("document.getElementById('number').innerHTML = '2'", 3000);


	setTimeout("document.getElementById('number').innerHTML = '1'", 4000);


	setTimeout("window.location = '" + redirect_to + "'", 5000);

}

function wordwrap( str, int_width, str_break, cut ) {
    // Wraps buffer to selected number of characters using string break char  
    // 
    // version: 904.1923
    // discuss at: http://phpjs.org/functions/wordwrap
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Nick Callen
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Sakimori
    // +   bugfixed by: Michael Grier
    // *     example 1: wordwrap('Kevin van Zonneveld', 6, '|', true);
    // *     returns 1: 'Kevin |van |Zonnev|eld'
    // *     example 2: wordwrap('The quick brown fox jumped over the lazy dog.', 20, '<br />\n');
    // *     returns 2: 'The quick brown fox <br />\njumped over the lazy<br />\n dog.'
    // *     example 3: wordwrap('Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.');
    // *     returns 3: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod \ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim \nveniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea \ncommodo consequat.'
    // PHP Defaults
    var m = ((arguments.length >= 2) ? arguments[1] : 75   );
    var b = ((arguments.length >= 3) ? arguments[2] : "\n" );
    var c = ((arguments.length >= 4) ? arguments[3] : false);

    var i, j, l, s, r;

    str += '';

    if (m < 1) {
        return str;
    }

    for (i = -1, l = (r = str.split(/\n/)).length; ++i < l; r[i] += s) {
        for(s = r[i], r[i] = ""; s.length > m; r[i] += s.slice(0, j) + ((s = s.slice(j)).length ? b : "")) {
            j = c == 2 || (j = s.slice(0, m + 1).match(/\S*(\s)?$/))[1] ? m : j.input.length - j[0].length || c == 1 && m || j.input.length + (j = s.slice(m).match(/^\S*/)).input.length;
        }
    }
    
    return r.join("\n");
}

var sidebar_count = 0;
var mainContent_count = 0;

function textarea_count() {
	if(document.sidebar_form != undefined) {
		sidebar_count = document.sidebar_form.elements.length;
	}
	mainContent_count = document.mainContent_form.elements.length;
}

function auto_grow() {
	
	if(document.sidebar_form != undefined) {
		var name_number = sidebar_count - 1;
		
		while(name_number > 0) {
			name_number += '';
			var element_name = "sidebarElement" + name_number;
			
			if(document.sidebar_form[element_name] != undefined) {
				var value = document.sidebar_form[element_name].value;
				var element_width = document.sidebar_form[element_name].offsetWidth;

				var cols = (element_width/8.1);
				var wrapped_txt = wordwrap(value, cols, '\n', true);

				if(wrapped_txt.match(/\n/g) != null) {
					var rows = wrapped_txt.match(/\n/g).length;
					rows = (Math.round(rows)) + 2;
				}
			
				else if(wrapped_txt.match(/\n/g) == null) {
					var rows = 2;
				}
			
				document.sidebar_form[element_name].rows = rows;
			}
			
			parseInt(name_number);
		
			name_number--;
		}
	}
	
	var name_number = mainContent_count - 1;
		
	while(name_number > 0) {
		name_number += '';
		var element_name = "mainContentElement" + name_number;
		
		if(document.mainContent_form[element_name] != undefined) {
			var value = document.mainContent_form[element_name].value;
			var element_width = document.mainContent_form[element_name].offsetWidth;
			
			var cols = (element_width/8.1);
			var wrapped_txt = wordwrap(value, cols, '\n', true);
			
			if(wrapped_txt.match(/\n/g) != null) {
				var rows = wrapped_txt.match(/\n/g).length;
				rows = (Math.round(rows)) + 2;
			}
		
			else if(wrapped_txt.match(/\n/g) == null) {
				var rows = 2;
			}
	
			document.mainContent_form[element_name].rows = rows;
		}
	
		parseInt(name_number);
	
		name_number--;
	}
	
	setTimeout("auto_grow();", 1);
}

var count = 0;
var textarea_name = '';
var form_name = '';
var parent;

function textarea_control(textarea_ref, form) {
	
	if(form == 'sidebar_form') {
		form = 'sidebar';
	}
	
	if(form == 'mainContent_form') {
		form = 'mainContent';
	}
	
	if(textarea_ref.getAttribute('name') == textarea_name) {
		return 0;
	}
	
	textarea_name = textarea_ref.getAttribute('name');
	parent = textarea_ref.parentNode;
	var panel = document.getElementById('textarea_control');
	
	panel.innerHTML = '<img src="../_images/textarea/append.png" title="Append textarea" onclick="txt_action(\'append\');" /><img src="../_images/textarea/prepend.png" title="Prepend textarea" onclick="txt_action(\'prepend\');" /><img src="../_images/textarea/delete.png" title="Delete textarea" onclick="txt_action(\'delete\');" />&nbsp;<img src="../_images/textarea/p.png" title="Paragraph" onclick="txt_action(\'p\');" /><img src="../_images/textarea/ol.png" title="Ordered list" onclick="txt_action(\'ol\');" /><img src="../_images/textarea/ul.png" title="Unordered list" onclick="txt_action(\'ul\');" /><img src="../_images/textarea/li.png" title="List item" onclick="txt_action(\'li\');" />&nbsp;<img src="../_images/textarea/h1.png" title="Heading 1" onclick="txt_action(\'h1\');" /><img src="../_images/textarea/h2.png" title="Heading 2" onclick="txt_action(\'h2\');" /><img src="../_images/textarea/h3.png" title="Heading 3" onclick="txt_action(\'h3\');" />&nbsp;<img src="../_images/textarea/b.png" title="Bold" onclick="txt_action(\'b\');" /><img src="../_images/textarea/i.png" title="Italic" onclick="txt_action(\'i\');" /><img src="../_images/textarea/del.png" title="Strike-through" onclick="txt_action(\'del\');" />';
	
	if(form == 'sidebar') {
		form_name = 'sidebar';
		var textarea = document.sidebar_form[textarea_name];
		parent.insertBefore(panel, textarea);
		textarea.focus;
	}
	else if(form == 'mainContent') {
		form_name = 'mainContent';
		var textarea = document.mainContent_form[textarea_name];
		parent.insertBefore(panel, textarea);
		textarea.focus;
	}
	
	panel = document.getElementById('textarea_control');
	panel.style.visibility = 'visible';
	
	alert(document.textarea.innerHTML);
}

function txt_action(type) {
	
	
	if(form_name == 'sidebar') {
		var textarea = document.sidebar_form[textarea_name];
		var element_name = "sidebarElement" + sidebar_count;
	}
	
	else if(form_name == 'mainContent') {	
		var textarea = document.mainContent_form[textarea_name];
		var element_name = "mainContentElement" + mainContent_count;
	}
	
	if(type != 'append' && type != 'prepend' && type != 'delete') {
		
		if (document.selection) {
			textarea.focus();
			var sel = document.selection.createRange();
			
			if(type != 'ul' && type != 'ol') {
				sel.text = '<' + type + '>' + sel.text + '</' + type + '>';
			}

			else if(type == 'ul') {
				sel.text = '<' + type + ' type="square">' + sel.text + '</' + type + '>';
			}

			else if(type == 'ol') {
				sel.text = '<' + type + ' type="1">' + sel.text + '</' + type + '>';
			}

		}
		
		else {		
			var start = textarea.selectionStart;
			var end = textarea.selectionEnd;
			
			var sel = textarea.value.substring(start, end);

			if(type != 'ul' && type != 'ol') {
				var edited = '<' + type + '>' + sel + '</' + type + '>';
			}

			else if(type == 'ul') {
				var edited = '<' + type + ' type="square">' + sel + '</' + type + '>';
			}

			else if(type == 'ol') {
				var edited = '<' + type + ' type="1">' + sel + '</' + type + '>';
			}
			
			textarea.value =  textarea.value.substring(0, start) + edited + textarea.value.substring(end);
		}
	}
	
	else if(type == 'append') {
		if(navigator.appName == 'Microsoft Internet Explorer') {
			var new_textarea = document.createElement("<textarea name=\"" + element_name + "\">");
			new_textarea.className = "expanding";
			new_textarea.onfocus = function(){textarea_control(this, this.parentNode.getAttribute('name'));};
		}
		else if(navigator.appName != 'Microsoft Internet Explorer') {
			var new_textarea = document.createElement('textarea');
			new_textarea.setAttribute('class', 'expanding');
			new_textarea.setAttribute('name', element_name);
			new_textarea.setAttribute('onfocus', 'textarea_control(this, \'' + form_name + '\')');
		}

		var next_textarea = textarea.nextSibling;
		parent.insertBefore(new_textarea, next_textarea);
		new_textarea.focus();
		
		if(form_name == 'sidebar') {
			sidebar_count++;
		}
		else if(form_name == 'mainContent') {
			mainContent_count++;
		}
	}
	
	else if(type == 'prepend') {
		if(navigator.appName == 'Microsoft Internet Explorer') {
			var new_textarea = document.createElement("<textarea name=\"" + element_name + "\">");
			new_textarea.className = "expanding";
			new_textarea.onfocus = function(){textarea_control(this, this.parentNode.getAttribute('name'));};
		}
		else if(navigator.appName != 'Microsoft Internet Explorer') {
			var new_textarea = document.createElement('textarea');
			new_textarea.setAttribute('class', 'expanding');
			new_textarea.setAttribute('name', element_name);
			new_textarea.setAttribute('onfocus', 'textarea_control(this, \'' + form_name + '\')');
		}
		
		var panel = document.getElementById('textarea_control');
		parent.insertBefore(new_textarea, panel);
		new_textarea.focus();
		
		if(form_name == 'sidebar') {
			sidebar_count++;
		}
		else if(form_name == 'mainContent') {
			mainContent_count++;
		}
	}
	
	else if(type == 'delete') {
		parent.removeChild(textarea);
		var panel = document.getElementById('textarea_control');
		panel.style.visibility = 'hidden';
		var wrapper = document.getElementById('wrapper');
		wrapper.appendChild(panel);
	}
	
}

function hold_db_content(location) {

	var panel = document.getElementById('textarea_control');
	var panel_parent = panel.parentNode;
	
	panel_parent.removeChild(panel);
	
	var db_content = document.createElement('textarea');
	db_content.setAttribute('name', 'updated_content');
	db_content.style.visibility = 'hidden';
	
	if(location == 'sidebar') {
		var form = document.sidebar_form;
		
		if(navigator.appName != 'Microsoft Internet Explorer') {
			var name_number = sidebar_count - 1;
			
			while(name_number > 0) {
				name_number += '';
				var element_name = "sidebarElement" + name_number;
			
				if(document.sidebar_form[element_name] != undefined) {
					var value = document.sidebar_form[element_name].value;
					document.sidebar_form[element_name].innerHTML = value;
					document.sidebar_form[element_name].value = document.sidebar_form[element_name].innerHTML;
					
					parseInt(name_number);
		
					name_number--;
				}
			}
		}
	}
	
	else if(location == 'page') {
		var form = document.mainContent_form;
		
		if(navigator.appName != 'Microsoft Internet Explorer') {
			var name_number = mainContent_count - 1;
			
			while(name_number > 0) {
				name_number += '';
				var element_name = "mainContentElement" + name_number;
			
				if(document.mainContent_form[element_name] != undefined) {
					var value = document.mainContent_form[element_name].value;
					document.mainContent_form[element_name].innerHTML = value;
					document.mainContent_form[element_name].value = document.mainContent_form[element_name].innerHTML;
					
					parseInt(name_number);
		
					name_number--;
				}
			}
		}
	}
	
	db_content.value = form.innerHTML;

	db_content.value = db_content.value.replace(/é/g, '&eacute;');
	db_content.value = db_content.value.replace(/É/g, '&Eacute;');
	db_content.value = db_content.value.replace(/è/g, '&egrave;');
	db_content.value = db_content.value.replace(/È/g, '&Egrave;');
	db_content.value = db_content.value.replace(/ê/g, '&ecirc;');
	db_content.value = db_content.value.replace(/Ê/g, '&Ecirc;');
	db_content.value = db_content.value.replace(/ë/g, '&euml;');
	db_content.value = db_content.value.replace(/Ë/g, '&Euml;');
	db_content.value = db_content.value.replace(/à/g, '&agrave;');
	db_content.value = db_content.value.replace(/À/g, '&Agrave;');
	db_content.value = db_content.value.replace(/â/g, '&acirc;');
	db_content.value = db_content.value.replace(/Â/g, '&Acirc;');
	db_content.value = db_content.value.replace(/ç/g, '&ccedil;');
	db_content.value = db_content.value.replace(/Ç/g, '&Ccedil;');
	db_content.value = db_content.value.replace(/î/g, '&icirc;');
	db_content.value = db_content.value.replace(/Î/g, '&Icirc;');
	db_content.value = db_content.value.replace(/ï/g, '&iuml;');
	db_content.value = db_content.value.replace(/Ï/g, '&Iuml;');
	db_content.value = db_content.value.replace(/ô/g, '&ocirc;');
	db_content.value = db_content.value.replace(/Ô/g, '&Ocirc;');
	db_content.value = db_content.value.replace(/û/g, '&ucirc;');
	db_content.value = db_content.value.replace(/Û/g, '&Ucirc;');
	db_content.value = db_content.value.replace(/ù/g, '&ugrave;');
	db_content.value = db_content.value.replace(/Ù/g, '&Ugrave;');
	db_content.value = db_content.value.replace(/«/g, '&laquo;');
	db_content.value = db_content.value.replace(/»/g, '&raquo;');
	db_content.value = db_content.value.replace(/™/g, '&trade;');
	
	if(navigator.appName == 'Microsoft Internet Explorer') {
		db_content.value = db_content.value.replace(/&lt;/g, '<');
		db_content.value = db_content.value.replace(/&gt;/g, '>');
	}
	
	form.appendChild(db_content);
}
