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 selectItemFixed(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;
  }
}

/* functions for newsletter */

function updateDst(o, form) {
  var elements = Form.getElements(form);
  var nl_groups = 'nl=';
  var rank_groups = 'ranks=';
  var users_groups = 'users=';
  var filter = 'filter=';
  for(var i=0; i<elements.length; i++) {
    var name = new String;
    name = elements[i].name;
    var prefix = name.substr(0,name.indexOf('_'));
    var suffix = name.substr(name.indexOf('_')+1);
    if(prefix) {
      if(prefix == 'nl' && elements[i].checked) {
        nl_groups += suffix+"|";
      } else if(prefix == 'rank' && elements[i].checked) {
        rank_groups += suffix+"|";
      } else if(prefix == 'u' && elements[i].checked) {
        users_groups += 'users_'+suffix+"|";
      } else if(prefix == 'filter' && elements[i].value.length) {
        filter += suffix+'='+elements[i].value+',';
      }
    }
  }

  var addresses = Form.getInputs(form, 'checkbox');
  var address_ids = '';
  for (i=0; i<addresses.length; i++) {
    if (addresses[i].name.substring(0,2) == 'a_' && addresses[i].checked) {
      address_ids += addresses[i].name.substring(2) + ',';
    }
  }

  var pars = nl_groups+'&'+rank_groups+'&'+users_groups+'&'+filter+'&a='+address_ids+'&newsletter_ts='+$F('newsletter_ts');
  UAjax.update('indirizzi', 'newsletter/getaddresses', pars, 'post');
  
  o.innerHTML = 'aggiorna elenco destinatari';
  Element.show('selactions');
}



function newslettersend(o) {
  var required = 0;
  var error = 0;
  if(!checkRequired(o.subject)) required++;

  if(required > 0) {
    alert('ci sono del campi lasciati vuoti');
    return false;
  }
  
  var addresses = Form.getInputs(o, 'checkbox');
  var numAddresses = 0;
  for (i=0; i<addresses.length; i++) {
    if (addresses[i].name.substring(0,2) == 'a_' && addresses[i].checked) {
      numAddresses++;
    }
  }
  if(numAddresses == 0) {
  	alert('non e\' stato selezionato alcun indirizzo');
	return false;
  }
  
  if(confirm('invio questa newsletter?')) {
    return true;
  } else {
    return false;
  }
}

function checkAll(form) {
  var addresses = Form.getInputs(form, 'checkbox');
  for (i=0; i<addresses.length; i++) {
    if (addresses[i].name.substring(0,13) == 'newsletter_a_') {
      addresses[i].checked = true;
    }
  }
}

function unCheckAll(form) {
  var addresses = Form.getInputs(form, 'checkbox');
  for (i=0; i<addresses.length; i++) {
    if (addresses[i].name.substring(0,13) == 'newsletter_a_') {
      addresses[i].checked = false;
    }
  }
}


var mustPutContents = false;
var templateHtml;
var attNum=0;
function addAttachment(id) {
    var a=document.getElementById(id);
    var d=document.createElement('div');
    var l=document.createElement('label');
    var i=document.createElement('input');

    l.setAttribute('name', 'Allegato '+attNum);
    l.setAttribute('class', 'label');

    i.setAttribute('type', 'file');
    i.setAttribute('name', 'attach'+attNum);

    d.appendChild(l);
    d.appendChild(i);

    a.appendChild(d);
    attNum++;
}

function getTemplate(id) {
  var url  = baseadmin + '/newsletter/nltemplateshow.ajax/' + id;
  var pars = 'id='+id;
  var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onComplete: putTemplate});
}

function putTemplate(originalRequest) {
  templateHtml = originalRequest.responseText;
  mustPutContents = true;
  tinyMCE.setContent(templateHtml);
}

/* Image handling functions */

var counterI = 0;
var limit = false;
var toUpdate = new String();
var target = new String();
var params = new Array();

function initImage(saveTarget, saveLimit){
	target = saveTarget;
	limit = saveLimit;
}

function saveImage(image_filename, updateThis) {
	toUpdate = 'image';
	var tmpCounter = $('thumbCounter').value;
	counterI = parseInt(tmpCounter);

	var url = baseadmin + '/' + target + '/provideImageForm.ajax/';
	var pars = 'filename='+image_filename+'&id='+counterI;
	var myAjax = new Ajax.Request(
		url, 
		{			
			method: 'get', 
			parameters: pars,
			evalScripts: true,
			asynchronous: false,
			onSuccess: showThumb
		});
}

function showImage(image_id, updateThis) {
	toUpdate = 'image';
	var tmpCounter = $('thumbCounter').value;
	counterI = parseInt(tmpCounter);

	var url = baseadmin + '/' + target + '/showImageForm.ajax/';
	var pars = 'image_id='+image_id+'&id='+counterI;
	var myAjax = new Ajax.Request(
		url, 
		{			
			method: 'get', 
			parameters: pars,
			evalScripts: true,
			asynchronous: false,
			onSuccess: showThumb
		});
}

function showThumb(originalRequest) {
	new Insertion.Top(toUpdate, originalRequest.responseText);
	counterI++;
	$('thumbCounter').value = counterI;
}

function delFlyThumb(id) {
	if(confirm('elimino questa immagine?')){
		var tmpCounter = $('thumbCounter').value;
		counterI = parseInt(tmpCounter);
		$('thumbCounter').value = counterI-1;
		$('imgTitle_' + id).name = "";
		$('imgDescription_' + id).name = "";
		Element.hide('divthumb_'+id);
	} else {
		return false;
	}
}

function delThumb(id) {
	if(confirm('elimino questa immagine?')){
		$('thumbDeleted').value += id+'|';
		Element.hide('divthumb_'+id);
	}
}

function showHide(id){
	$(id).style.display = ($(id).style.display == "none") ? $(id).style.display = "block" : $(id).style.display = "none";
}


/* 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) {
	$(item + 's_deleted').value += id+'|';
	Element.hide(item + '_id_'+id);
}

function elimina_new_item(id) {
	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;
}

function delEl(element){
  if(confirm('Elimino questo elemento?')) {
    Element.remove(element);
  }
  
  higlightLatest('commenti');
  higlightLatest('voti');
  higlightLatest('visit');
  
  return false;
}  
  
  function higlightLatest(el){
  var els = $(el).getElementsByTagName('div');
  var x;
  
  for(x in els){
    if(x<3)  els[x].addClassName('latest');
    if(x>3) els[x].removeClassName('latest');
  }
return false;  
}

function fillCategory(){
	var url    = baseadmin + '/blog/fillCategory.ajax';
  	var pars   = "id=" + $('category').value;
	var myAjax = new Ajax.Request(
		url, 
		{			
			method: 'get', 
			parameters: pars,
			evalScripts: true,
			onSuccess: fillSelectDisplay
		});	
}

function fillSelectDisplay(originalRequest){
	var response = originalRequest.responseText;
	$('blog_category_id').value = response;		
}

function openLogin(){
	if (document.getElementById('login_form').style.display == 'none')
		document.getElementById('login_form').style.display = 'block';
	else
		document.getElementById('login_form').style.display = 'none';
}

function checkFilesBlog(){
	var ret_value = true;
	$('blog_category_id_error').innerHTML = "";
	
	if ($('blog_category_id').value == ""){
		$('blog_category_id_error').innerHTML = "devi selezionare una categoria";
		ret_value = false;
	}
	
	return ret_value;
}
