/**
 * CMS JavaScript functions
 * @package CoMa
 * @subpackage inc
 * @author Stefan Lingler <sl@pixelwings.com>
 */

/*
* List Funtions START
*/
function selectItems(checked) {
	checked=checked===false?checked:true;
	var form=document.forms.form_list;
	for (var i=0;i<form.elements.length;i++) {
		var element=form.elements[i];
		if (element.type=='checkbox') {
  		element.checked=checked;
		}
	}
}

function selectAllItems(checked) {
	var c;
	c=checked===false?checked:true;
	var form=document.forms.form_list;
	if ( c ) form.allprofiles.value = 1;
	else form.allprofiles.value = 0;
	
	var xml_req=window.xml_req;
  if (xml_req && xml_req.readyState < 4) xml_req.abort();
  if (window.XMLHttpRequest && !xml_req) xml_req=new XMLHttpRequest();
  else if (window.ActiveXObject) xml_req=new ActiveXObject("Microsoft.XMLHTTP");
	
	window.xml_req=xml_req;
  xml_req.open('GET',window.location.pathname+'?mode='+(c?'':'un')+'select_all');
  xml_req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  xml_req.send('');
	
}

function toggleListColor(row,class_name) {
	row.className=class_name;
}
/*
* List Funtions STOP
*/


/*
* Fot Search START
*/
var fs_xml_req=false;
var fs_timer=null;
var isIE = false;
var fs_form=false;
var fs_query=false;
var fs_ui=false;

function fs_init(form) {
	window.fs_form=form;
	if (navigator.userAgent.indexOf("Safari") > 0) document.getElementById('fs_input').addEventListener("keydown",fs_key,false);
	else if (navigator.product == "Gecko") document.getElementById('fs_input').addEventListener("keypress",fs_key,false);
	else {
    document.getElementById('fs_input').attachEvent('onkeydown',fs_key);
    isIE = true;
	}
	fs_search(form);
}
	
function fs_hide() {
	document.getElementById('fs_container').style.display='none';
}

function fs_key(e) {
	switch (e.keyCode) {
		case 8:
      if (isIE) fs_search(false);
		break;
	}
}

function fs_search(form,ui) {
	form=form?form:window.fs_form;
	if (fs_timer) window.clearTimeout(fs_timer);
	window.fs_timer=window.setTimeout('fs_xml_request(\''+form+'\')',150);
	window.fs_ui=ui?true:false;
}

function fs_xml_request(form) {
  	
  if (window.fs_query!=document.forms[form].query_fot.value || window.fs_query===false) {
    if (fs_xml_req && fs_xml_req.readyState < 4) fs_xml_req.abort();
    if (window.XMLHttpRequest && !fs_xml_req) fs_xml_req = new XMLHttpRequest();
  	else if (window.ActiveXObject) fs_xml_req = new ActiveXObject("Microsoft.XMLHTTP");
		
    fs_xml_req.onreadystatechange=fs_xml_data;
    fs_xml_req.open('POST',window.location.pathname+'?'+(window.l_search?'url='+window.l_search+'&':'')+'mode=query_fot');
		fs_xml_req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		window.fs_query=document.forms[form].query_fot.value?document.forms[form].query_fot.value:false;
    fs_xml_req.send('q='+document.forms[form].query_fot.value+'&all_sectors='+document.forms[form].all_sectors.value);
  }
	return false;
}

function fs_xml_data(form) {
	if (fs_xml_req.readyState==4) {
		var container=document.getElementById('fs_container');
		var result=document.getElementById('fs_result');
		
		container.style.display='block';
		result.innerHTML=fs_xml_req.responseText;
		
		if (!window.fs_ui && location.href.indexOf("#Result")!=-1) location.href="#Result";
		
	}
}
/*
* Fot Search STOP
*/

/*
* BB-Code Funtions START
*/
function insertTag(aTag,eTag,element) {
  element.focus();
  if(typeof document.selection != 'undefined') {
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);      
    }
    range.select();
  }
  else if(typeof element.selectionStart != 'undefined')
  {
    var start = element.selectionStart;
    var end = element.selectionEnd;
    var insText = element.value.substring(start, end);
    element.value = element.value.substr(0, start) + aTag + insText + eTag + element.value.substr(end);
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    element.selectionStart = pos;
    element.selectionEnd = pos;
  }
  else
  {
    var pos;
	
	
	
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Insert at position (0.." + element.value.length + "):", "0");
    }
    if(pos > element.value.length) {
      pos = element.value.length;
    }
    var insText = prompt("Please insert text:");
    element.value = element.value.substr(0, pos) + aTag + insText + eTag + element.value.substr(pos);
  }
}

function translate_BBC(param) {
	var path=param.split('.');
	var element=document.forms[path[0]][path[1]];
	var xml_req=window.xml_req;
  if (xml_req && xml_req.readyState < 4) xml_req.abort();
  if (window.XMLHttpRequest && !xml_req) xml_req=new XMLHttpRequest();
  else if (window.ActiveXObject) xml_req=new ActiveXObject("Microsoft.XMLHTTP");
	
	window.xml_req=xml_req;
	xml_req.onreadystatechange=preview_BBC;
  xml_req.open('POST',window.location.pathname+'?mode=bbc_preview');
  xml_req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  xml_req.send('text='+encodeURIComponent(element.value));
	
}

function open_BBC_Help() {
  var popup=window.open('?style=popup&mode=bbc_help','HELP','menubar=no,status=no,location=no,width=500px,height=400px,scrollbars=1,resizable=yes');
  popup.focus();
}

function preview_BBC() {
	var xml_req=window.xml_req;
	if (xml_req.readyState==4) {
		var container=document.getElementById('preview_cont');
		var result=document.getElementById('text');
		
		result.innerHTML=xml_req.responseText;
		container.style.display='block';
		//if (location.href.indexOf("#Preview")==-1) location.href="#Preview";
		location.href="#Preview";
	}
}

/*
author: Stefan Lingler, sl@pixelwings.com 2007/03/01
*/
function do_BBC(code,param) {
	if (param[0]) {
  	var path=param[0].split('.');
  	var element=document.forms[path[0]][path[1]];
	}
	switch (code) {
		case 'media':
			if (param[1]) {
  			var location=param[1]+'?style=popup';
  			var popup=window.open(location,'MEDIA','menubar=no,status=no,location=no,width=500px,height=400px,scrollbars=1');
  			window.bbc_element=element;
  			popup.focus();
			}
			else {
  			insertTag('['+code+' id='+param[2]+']'+"\n",'',param[3]);
			}
		break;
		case 'list':
			insertTag('['+code+']'+"\n"+'[*]',"\n"+'[/'+code+']',element);
		break;
		case 'size':
			insertTag('['+code+'=1.5]','[/'+code+']',element);
		break;
		default:
			insertTag('['+code+']','[/'+code+']',element);
	}
}
/*
* BB-Code Funtions STOP
*/


/*
* MouseOver Info Functions START
*/
var in_xml_req=false;
var in_element=false;

function in_closeInfo() {
	if (window.in_element) {
		in_element.style.display='none';
	}
	window.in_element=false;
}

function in_openInfo(id) {
	//if (window.in_element) return false;
	in_closeInfo();
	var info=document.getElementById('info_'+id);
	if (info!=undefined) {
  	window.in_element=info;
		info.style.display='block';
		if (info.innerHTML=='' || info.innerHTML=='loading') {
  		in_requestInfo(id);
		}
	}
	//return true;
}

function in_setInfo() {
  	if (in_xml_req.readyState==4 && in_element.innerHTML=='loading') in_element.innerHTML=in_xml_req.responseText;
  	else in_element.innerHTML='loading';
}

function in_requestInfo(id) {
  if (in_xml_req && in_xml_req.readyState < 4) in_xml_req.abort();
  if (window.XMLHttpRequest && !in_xml_req) in_xml_req = new XMLHttpRequest();
  else if (window.ActiveXObject) {
		in_xml_req = new ActiveXObject("Microsoft.XMLHTTP");
	}
  
  in_xml_req.onreadystatechange=in_setInfo;
  in_xml_req.open('POST',window.location.pathname+'?mode=info');
  in_xml_req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  in_xml_req.send('id='+id);
}
/*
* MouseOver Info Functions STOP
*/

/*
* Input validation Function START
*/
function checkLength(name,len) {
	var element=document.getElementById(name);
	if (element!=null) {
  	var cnt=document.getElementById('cnt_'+element.name);
  	if (element.value.length>len) {
  		element.value=element.value.substring(0,len);
  	}
  	if (cnt!=null) {
  		cnt.innerHTML=len-element.value.length;
  		return [cnt,(len-element.value.length)];
  	}
	}
	return false;
}
/*
* Input validation Function STOP
*/