var isIE = false;
var isOther = false;
var isNS4 = false;
var isNS6 = false;
if(document.getElementById) {
  if(!document.all) {
    isNS6=true;
  }
  if(document.all) {
    isIE=true;
  }
} else {
  if(document.layers)	{
    isNS4=true;
  } else {
    isOther=true;
  }
}

function getBack(url, seconds) {
  setTimeout("window.location='"+url+"';",1000*seconds);
}

/*
function initTabs(n) {
  for (var i=1; i<=n; i++) {
    document.getElementById('tab'+n).style.visibility='hidden';

  }
}
*/

/* tab relative functions */

function showTab(n,m,prefix) {
  for (var i=1; i<=m; i++) {
    if (n==i) {
      	$(prefix+'_tab'+i).style.display = 'block';
      	$(prefix+'_menutab'+i).className = 'labelssel';
    } else {
      	$(prefix+'_tab'+i).style.display = 'none';
      	$(prefix+'_menutab'+i).className = '';
    }
  }
}

function showSubTab(n,m,prefix) {
  for (var i=1; i<=m; i++) {
    if (n==i) {
      	$(prefix+'_tab'+i).style.display = 'block';
      	$(prefix+'_menutab'+i).className = 'sublabelasel';
    } else {
      	$(prefix+'_tab'+i).style.display = 'none';
      	$(prefix+'_menutab'+i).className = 'sublabela';
    }
  }
}

/* items selecion */

function over(o) {
  if(o==null) {
    o = this;
  }
  //o.className="over";
}

function out(o) {
  if(o == null) {
    o = this;
  }
  //o.className="out";
}

function select(id) {
  var item = $('item_' + id);
  var prevSelected;
  
  if ($F('item_id') != '' && (prevSelected = $('item_' + $F('item_id')))) {
    prevSelected.className = ('unselected');
  }
  
  $('item_id').value = id;
  item.className = 'selected';

}

function select_this_item(id) {
  var item = $('item_' + id);
  var prevSelected;
  
  if ($F('item_id') != '' && (prevSelected = $('item_' + $F('item_id')))) {
    prevSelected.className = ('unselected');
  }
  
  $('item_id').value = id;
  item.className = 'selected';

}

/* general purpose */

function doLogin(o) {
  var plainPasswd=o.plainpassword.value;
  o.password.value=hex_md5(plainPasswd);
  o.plainpassword.value="";
  return true;
}

function toggle(id) {
  var o = $(id);
  if (o.style.display == 'none') {
    o.style.display = 'block';
  } else {
    o.style.display = 'none';
  }
}

function removeChilds(element) {
  while(element.hasChildNodes()) {
    element.removeChild(element.lastChild);
  }
}

function replaceContent(element, content) {
  removeChilds(element);
  new Insertion.Top(element,content);
}

function toggleLoading () {
  toggle('loading');
}

function selectAll(id){
  var o=$(id);
  if(o.options[0].selected=true){
    o.multiple=false;
  }
}
function selNot(id){
  var o=$(id);
  o.options[0].selected=false;
  o.multiple=true;
}

function filtra (page, element, filter) {
  toggleLoading();
  var url    = baseurl+page;
  var pars   = filter;
  var myAjax = new Ajax.Updater(element,url ,
                {method: 'get', parameters: pars, onSuccess: toggleLoading}
                );
}

function count(o, n, e) {
  $(e).innerHTML = n-$(o).value.length;
  if($(o).value.length >= n) {
    $(o).value = $(o).value.substring(0,n);
  }
}

/**
 * enables tinymce to textarea
 */
var tinyMode = true;
function setTiny(textareaId, enable) {
  if(enable == true && tinyMode == false) {
    tinyMCE.addMCEControl(document.getElementById(textareaId), textareaId);
    tinyMode = true;
  } else if(enable == false && tinyMode==true) {
	tinyMCE.removeMCEControl(tinyMCE.getEditorId(textareaId));
    tinyMode = false;
  }
}

/* ADD NEW ITEM */

var itemCounter = 0;

function add_item(updateThis, item, module, form){
	toUpdate = updateThis;
	var form_id = null;

	if(form){
		form_id = form;
	}
	
	itemCounter = $(item + 's_counter').value;
	itemCounter = parseInt(itemCounter);
	itemCounter++;
	$(item + 's_counter').value = itemCounter;
	
	var action = module + '/provide'+ item + 'Form';
	var url = baseadmin + '/' + action + '.ajax/';
	var pars = 'id='+itemCounter + '&form_id=' + form_id;
	var myAjax = new Ajax.Request(
		url, 
		{			
			method: 'get', 
			parameters: pars,
			evalScripts: true,
			onSuccess: showItem
		});
}

function showItem(originalRequest) {
	new Insertion.Top(toUpdate, originalRequest.responseText);	
}

function elimina_item(id, item) {
if(confirm('Elimino questo elemento?')) {
	$(item + 's_deleted').value += id+'|';
	Element.hide(item + '_id_'+id);
}  
}

function elimina_new_item(id) {
if(confirm('Elimino questo elemento?')) {
	Element.remove(id);
}  
}

/* CHECK QUICKNAME */

var quickToUpdate = '';

function checkQuickname(item, item_id){

	target = item;
	quickname = $F(item + '_quickname');
	var action = target + '/checkQuickname';
	var url = baseadmin + '/' + action + '.ajax/';
	var pars = 'quickname=' + quickname + '&id='+item_id;
	var myAjax = new Ajax.Request(
		url, 
		{			
			method: 'get', 
			parameters: pars,
			evalScripts: true,
			onSuccess: quicknameResponse
		});	
}

function quicknameResponse(originalRequest) {
	var response = originalRequest.responseText;
 	if(response == 'false') {
 		Element.update(target + '_quickname_error', 'Quickname esistente');
 		
 	} else {
 		Element.update(target + '_quickname_error', '<span>Quickname valido</span>');
 	}
 	
 	$(target + '_quickname_isvalid').value = response;
}

function buildQuickname(element, parent){
	toggleLoading();
	
  quickToUpdate = parent + '_quickname';
	
	if($F(quickToUpdate)){ return false;}
	
  var url    = baseurl+'/build_quickname.ajax/'+element.value+'/'+element.id.replace(/_title/,'');
  var pars   = null;
	var myAjax = new Ajax.Request(
		url, 
		{			
			method: 'get', 
			parameters: pars,
			evalScripts: true,
			onSuccess: setQuickname
		});	
}

function setQuickname(originalRequest){
	$(quickToUpdate).value = originalRequest.responseText;
}