// © SuperSaaS 2010

// for top_menu -- has duplicates
var roleid=-2
function showflags(id) {
  if (roleid==-2) {roleid=id;new Ajax.Updater('flagbox', '/partials/flags.html', {method: 'get'});$('flagbox').observe('mouseleave', function() {this.hide();});}
  new Effect.BlindDown('flagbox',{duration : 0.25 })
}

function changetld(l,tld) {
  var host=new String(window.location.protocol+'//'+window.location.host)
  var rest=new String(window.location.pathname+window.location.search)
  if (/[\?&]lang=(\w\w)/.test(rest))
    rest=rest.replace(/([\?&])lang=\w\w/,'$1lang='+l)
  else
    rest+=(rest.indexOf('?')==-1 ? '?' : '&')+'lang='+l
  if (/(.*supersaas\.)(co.uk|\w{2,3})(.*)/.test(host) && tld!=RegExp.$2 && window.location.protocol!='https:') {
    window.location= host + '/info/change_tld/'+roleid+'?tld='+tld+'&after='+encodeURIComponent(rest)}
  else
    window.location= host + rest
  new Effect.BlindUp('flagbox',{duration:0.3})
}

// for accounts/access
function toggleSpans(whichspan)
{
  for (var i=0; i<=5; i++) {
    if (i==whichspan) $("alist" + i).show()
    else $("alist" + i).hide()
    if (i<5) {
    if (i==whichspan) $("plist" + i).show()
    else $("plist" + i).hide()}
  }
  if (whichspan==5) $("plist").hide(); else $("plist").show()
  var b0 = $("account_ask_confirm_0")
  var b1 = $("account_ask_confirm_1")
  var b2 = $("account_ask_confirm_2")
  if (whichspan==3) {
    b0.disabled=true
    b1.disabled=true
    b2.checked=true
    $('limail').show();$('liconf').show()
  } else {
    b0.disabled=false
    b1.disabled=false
  }
}

function setMailspan()
{
  v = $("account_ask_maillogin").checked
  $("mail1").style.display = (v) ? "" : "none"
  $("mail2").style.display = (v) ? "none" : ""
}

// Generic Dbox functionality

function download_vcard() {
  window.location='/users/vcard/'+$('olduser_id').value
}

var aid
function showbox(event,id) {
  displaybox("sbox",null,event.clientX-12,event.clientY-12)
  aid=id
}

function show_activity(i,u) {
  window.location='/schedule/'+encodeURIComponent(aname)+'/'+encodeURIComponent(rps[i])+'?view=agenda&user='+u
  if ($('sbox')) $('sbox').hide()
}

function hider(t,e) {if (!$(e.target ? e.target : e.srcElement).descendantOf(t)) {t.hide()}}

function editbox(event,id,o) {
  o=o||"olduser"
  for (var i=1; i<chip_fields.length; i++) {
    clearNset(o+"_" + chip_fields[i],chip[id][i])
  }
  if ($("olduser_role_3")) {
    if (hidepass) {if (chip[id][0]==4) $('olduser_pw').show();else $('olduser_pw').hide()}
    $("olduser_role_3").checked=(chip[id][0]==3)
    if ($("olduser_role_4")) $("olduser_role_4").checked=(chip[id][0]==4)
    $("olduser_role_1").checked=(chip[id][0]==-1)}
  if (o=='oldproduct') {
    $("oldproduct_ask_quantity_"+chip[id][0]).checked=true
    tinyMCE.get('oldproduct_description').load()}
  displaybox("ebox",o,event.clientX,event.clientY)
  edtarget=id
}

function newbox(event) {
  displaybox("dbox","user",event.clientX,event.clientY)
}

function displaybox(box,object,x,y) {
  var enc=$("container")
  var el=$(box)
  var st=el.style
  var scroll=document.viewport.getScrollOffsets().top
  if ($('flash').visible()) new Effect.Fade('flash')
  y+=scroll
  if (object != null) {
    $(box + "error").hide()
  }
  st.left = x+"px"
  st.top = y+"px"
  st.display = ""
  if (x+el.offsetWidth>enc.offsetWidth) {
    x=enc.offsetWidth-el.offsetWidth
    st.left = x+"px"
  }
  if ((document.viewport.getHeight()+scroll) < (y+el.offsetHeight) )  el.scrollIntoView(false)
  if (object != null) {
    $(object + "_xpos").value=x
    $(object + "_ypos").value=y
  }
}

function clearNset(name,val) {
  var e = $(name)
  if (e.parentNode.tagName=="SPAN") {
    e.parentNode.style.padding="0"
    e.parentNode.style.backgroundColor="white"
    e.parentNode.style.display="inline" }
  if (name.indexOf('country')>0) build_clist(name,val)
  if (name.indexOf('timezone')>0) build_zone(name,val)
  e.value=val
}

function changepass(t) {
  if (hidepass) {
    var p=$(t.id.replace(/role_\d/,'pw'))
    if (t.value==4) p.show();else p.hide();
  }
}

var submitted = false;
function showIndicator(i) {
  if (! submitted) {
    submitted = true;
    ProgressImg = $(i);
    $(i).show();
    setTimeout("ProgressImg.src = ProgressImg.src",100); // trick to restart animated gif in IE
    return true;
    }
  else return false;
}

// Specific for form supervise
var ajaxobj = false, formcache=false
function view_form(event,id,c) {
	displaybox2('fbox',event.clientX,event.clientY)
	if (formcache!=id) {formcache=id
		if (ajaxobj)
			if (ajaxobj.transport.readyState < 4) {
				ajaxobj.transport.abort()
				ajaxobj=false;}
		$("content").innerHTML='<div style="padding:30px 50px"><img id="ajaxspin" src="/images/indicator_flower.gif" alt="Busy..."/></div>'
		ajaxobj = new Ajax.Updater('content', '/form/ajaxform/'+id+'.html'+(c ? '?c='+c : ''), {method: 'get'})}
}

function displaybox2(box,x,y) {
	var el=$(box)
	var st=el.style
	var scroll=document.viewport.getScrollOffsets().top
	x=parseInt(x);y=parseInt(y)+scroll
	st.left = x+"px"
	st.top = y+"px"
	el.show()
	if ($('flash').visible()) new Effect.Fade('flash')
}

function changeform(f) {
  if (f && f.value=='') {$('form_auth').hide();if ($('form')) $('form').hide();}
	else {$('form_auth').show()
    if ($('form')) {
    if (f) $('form_name').innerHTML=f.options[f.selectedIndex].text.escapeHTML()
      var fs=$$('.fshow');if (fs[0].checked || (fs[1] && fs[1].checked)) $('form').show(); else $('form').hide()}}
}

function jump_to_form(id,rid) {
	var url=new String(window.location)
	window.location=url+(url.indexOf('?')==-1 ? '?' : '&')+'fid='+id+(rid ? '&rid='+rid : '')
}