
// Move options from one select list to another
function moveOption ( objSourceElement, objTargetElement ) {
	var aryTempSourceOptions = new Array();
	var x = 0;
	
	//looping through source element to find selected options
	for (var i = 0; i < objSourceElement.length; i++) {
		if (objSourceElement.options[i].selected) {
			//check if the optionIsAlready in the destination, if it is not, then add it, otherwise do nothing.
			if(!checkIfOptionExistsInSelect(objSourceElement.options[i], objTargetElement)){
					//need to move this option to target element
					var intTargetLen = objTargetElement.length++;
					objTargetElement.options[intTargetLen].text = objSourceElement.options[i].text;
					objTargetElement.options[intTargetLen].value = objSourceElement.options[i].value;
			}

			
		}
		else {
			//storing options that stay to recreate select element
			var objTempValues = new Object();
			objTempValues.text = objSourceElement.options[i].text;
			objTempValues.value = objSourceElement.options[i].value;
			aryTempSourceOptions[x] = objTempValues;
			x++;
		}
	}
	
	//resetting length of source
	objSourceElement.length = aryTempSourceOptions.length;
	//looping through temp array to recreate source select element
	for (var i = 0; i < aryTempSourceOptions.length; i++) {
		objSourceElement.options[i].text = aryTempSourceOptions[i].text;
		objSourceElement.options[i].value = aryTempSourceOptions[i].value;
		objSourceElement.options[i].selected = false;
	}
}

// Checks to see if a html Option element exists inside a Select element.
// Checks by comparing both the text and the value.
function checkIfOptionExistsInSelect(objOption, objSelectElement){
		var doesExist = false;
		for(var i =0; i < objSelectElement.length; i++){
				if(objSelectElement.options[i].text == objOption.text && objSelectElement.options[i].value == objOption.value){
						doesExist = true;
						break;
				}
		}
		return doesExist;
}

function $() {
  var elements = new Array();
  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);
    if (arguments.length == 1)
      return element;
    elements.push(element);
  }
  return elements;
}


// Usage: addFormating("U")
// Options:
// "U" - underline
// "B" - bold
// "I" - italic
function addFormating(obj,tag) {
	var selectedText = "";
	tag = "@"+tag;
	if (obj.setSelectionRange) {
		selectedText = obj.value.substring(obj.selectionStart,obj.selectionEnd)
		obj.value = obj.value.substring(0,obj.selectionStart) + tag + selectedText + tag + obj.value.substring(obj.selectionEnd,obj.value.length)
	} else {
		selectedText = obj.selection.createRange().text; 
		if (selectedText != "") {
			var newText = tag + selectedText + tag;
			obj.selection.createRange().text = newText;
		} 
	}
}

function charCounter(txtBox,counter,texto,chars) {
  var txtBoxObj = $(txtBox);
  var counterObj = $(counter);
	if ( txtBoxObj && counterObj ) {
		var len = chars - txtBoxObj.value.length;
		if(len <= 0) {
			len=0;
			texto='<span class="disable"> '+texto+' </span>';
			txtBoxObj.value=txtBoxObj.value.substr(0,chars);
		}
		counterObj.innerHTML = texto.replace("{CHAR}",len);
	}
}

// Son of suckerfish IE6 fix
sfHover = function() {
	var ele = document.getElementById("nav");
	if (!ele) return;
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}

if (window.attachEvent) window.attachEvent("onload", sfHover);

selectAllPages = function(el){
	var els = $$('.pages');
	//var allCheckbox = $$('all');
	//for (var j = 0; j < allCheckbox.length; j++) {
  	if (!el.checked) {
  		for (var i = 0; i < els.length; i++) {
  			els[i].checked = false;
  		}
  	}
  	else {
  		for (var i = 0; i < els.length; i++) {
  			els[i].checked = true;
  		}
  	}
  //}
}

//document.onkeydown = 'alert("key pressed");';
//$$('input').invoke = "alert(\"key pressed\")";
/*
els = $$('input');
for (var i=0; i<els.length; i++) {
	els[i].invoke('observe', 'click', function(ev) {
	  alert("Key Pressed");
	});
  Event.observe(els[i], "click", function(eventObj) {
    Event.stop(eventObj);
    alert("Key Pressed");
  }.bindAsEventListener(),false);
}
*/

/* intro pages */
var amountIntroPages = 0;  
addIntropage = function() {
  var tr = document.createElement('tr');
  var td1 = document.createElement('td');
  var td2 = document.createElement('td');
  var noRows = ++amountIntroPages;
  tr.id = 'intro_page_'+ noRows;
  td1.innerHTML = '<input type="text" id="introlink_' + noRows + '" name="introlink[]" />';
  td2.innerHTML = '<input type="text" id="introtpw_' + noRows + '" name="introtpw[]" /> <a onclick="removeIntropage('+ noRows +')">remove</a>';
  tr.appendChild(td1);
  tr.appendChild(td2);
  $('intro_pages').appendChild(tr);
}

removeIntropage = function(id) {
	amountIntroPages--;
	$('intro_page_'+ id).remove();
}


