function eitherform () {
  maleonly1.style.display="none"
  maleonly2.style.display="none"
  maleonly3.style.display="none"
  maleonly4.style.display="none"
  femaleonly1.style.display="none"
  femaleonly2.style.display="none"
  femaleonly3.style.display="none"
}
function maleform () { 
  maleonly1.style.display="inline"
  maleonly2.style.display="inline"
  maleonly3.style.display="inline"
  maleonly4.style.display="inline"
  femaleonly1.style.display="none"
  femaleonly2.style.display="none"
  femaleonly3.style.display="none"
}

function femaleform () { 
  femaleonly1.style.display="inline"
  femaleonly2.style.display="inline"
  femaleonly3.style.display="inline"
  maleonly1.style.display="none"
  maleonly2.style.display="none"
  maleonly3.style.display="none"
  maleonly4.style.display="none"
}

function isEmpty(str) {
  if ( str== "" || str == null) return true
  return false
}

function is_email (email) {
  return true;
}

function is_postcode (postcode) {
  return true;
}

function validate (arr) {
  
  var cm2ins = 0.393700787;

  var m, s, c, mysql = new Array(), sticky = new Array(), check = new Array()
  for (key in arr) {

    var value = arr[key]
    
    if (isEmpty(key) || key == "undefined") { /* Ignore */ }
    else if (key === 'MAX_FILE_SIZE') { /* Ignore */ }
    else if (key.length < 3 || key.substr(1,1) != '_') alert ('<br />Validate error: invalid key ('+key+').<br />');
    
    else {
      var name = key.substr(2);
      var ignore = false;
     
      switch(key.substr(0,1)) {
        case 'c':
          if (value && value != "0") {
            s = c = 1;
          }
          else s = c = 0;
          break;
          
        case 't':
          if (!isEmpty(value)) {
            //c = mysql_escape(value);
            //if (name=='firstname')
            c = value;
            s = value;
            //alert('1' + c)
          }
          else s = c = false;
          break;
          
        case 'n':
          if (!isNaN(value)) {
            s = c = value;
          }
          else s = c = false;
          break;
          
        case 'h':
          if (!isNaN(value.replace("+","").replace(")","").replace("(","").replace(" ",""))) {
            s = c = value;
          }
          else s = c = false;        
          break;
          
        case 'e':
          if (is_email(value)) {
            s = c = value;
          }
          else s = c = false;
          break;
          
        case 'p':
          if (is_postcode(value)) {
            s = c = value;
          }
          else s = c = false;
          break;
        
        case 'g':
          if (value == 'm' || value == 'f') {
            s = c = value;
          }
          else s = c = false;
          break;
           
        case 'd':
        
          switch (arr['u_'.name]) {
            
            case 'ins':
              if (!isNaN(value)) {
                s = c = value;
              }
              else s = c = false;
              break;
              
            case 'cm':
              
              if (!isNaN(value)) {
                //echo 'cm<br />';
                //echo value.'<br />';
                //echo cm2ins.'<br />';
                c = Math.round( value * cm2ins );
                //echo c.'<br />';
                s = value;
              }
              else s = c = false;
              break;
              
            default:
              //alert ('Validation Error: unit not found for '+name);
              s = c = false;
              break;
          }
          
          break;
          
        case 'u':
          sticky[name + 'units'] = value; 
          ignore = true;
          break;
            
        case 'x':
          ignore = true;
          break;
          
        case 'k':
          ignore = true;
          sticky[name] = value;
          break;
          
        default:
          alert ('Validate error: invalid type.');
          ignore = true;
          break;  
        
      }
      if (!ignore) {
        sticky[name] = s;
        //alert(c)
        check[name] = c;
        //alert(check[name])
        //alert(name)
      }
    }
  }
  //alert('2' + check['firstname'])
  return check
}

function validateApply() {
  var form = document.getElementById('apply')
  var elements = form.elements
  var arr = new Array()
  for(i = 0; i < elements.length; i++) {
    arr[elements[i].name] = elements[i].value
  }
  var c = validate(arr)
  
  var errors = new Array()

  if (!c['firstname'])                                                                                     { errors['firstname'] = 'Invalid first name';                                                             errors.push('firstname');                                               valFail('firstname') }            else valSuccess('firstname')
  if (!c['surname'])                                                                                       { errors['surname'] = 'Invalid surname';                                                                  errors.push('surname');                                                 valFail('surname') }              else valSuccess('surname')
  if (!c['gender'])                                                                                        { errors['gender'] = 'Select a gender';                                                                   errors.push('gender');                                                  valFail('gender') }               else valSuccess('gender')
  if (!c['address'])                                                                                       { errors['address'] = 'Invalid Address';                                                                  errors.push('address');                                                 valFail('address') }              else valSuccess('address')
  if (!c['postcode'])                                                                                      { errors['postcode'] = 'Invalid Postcode';                                                                errors.push('postcode');                                                valFail('postcode') }             else valSuccess('postcode')
  if (!c['homephone'] && !c['workphone'] && !c['mobilephone'])                                             { errors['phone'] = 'No phone number';                                                                    errors.push('phone');                                                   valFail('phone') }                else valSuccess('phone')
  if (!c['email'])                                                                                         { errors['email'] = 'Invalid e-mail address';                                                             errors.push('email');                                                   valFail('email') }                else valSuccess('email')
  if (!c['firstlanguage'])                                                                                 { errors['firstlanguage'] = 'No first language';                                                          errors.push('firstlanguage');                                           valFail('firstlanguage') }        else valSuccess('firstlanguage')
  if (form['c_ukcitizen'].value === '')                                                                    { errors['ukcitizen'] = 'UK citizen';                                                                     errors.push('ukcitizen');                                               valFail('ukcitizen') }            else valSuccess('ukcitizen')
  if (!c['ukcitizen'] && form['c_righttowork'].value === '')                                               { errors['righttowork'] = 'Right to work';                                                                errors.push('righttowork');                                             valFail('righttowork') }          else valSuccess('righttowork')
  if (!c['ukcitizen'] && form['c_righttowork'].value === '0')                                              { errors['norighttowork'] = 'You can not join the agency until you have the right to work in the UK.';    errors.push('norighttowork');    alert(errors['norighttowork']) }
  //alert(form['x_dob_y'])
  if ( isNaN(form['x_dob_y'].value) || isEmpty(form['x_dob_y'].value) || isNaN(form['x_dob_m'].value) || isEmpty(form['x_dob_m'].value) || isNaN(form['x_dob_d'].value) || isEmpty(form['x_dob_d'].value) )      { errors['dob'] = 'Invalid Date of Birth';       errors.push('dob');        valFail('dob') }                  else valSuccess('dob')
  
  if (errors.length > 0) {
    location.hash = 'apply-form'
    alert("Form not sent. Please complete the information in red boxes.")
    return false;
  }
  else return true
}

function valFail(id) {
  var el = document.getElementById(id+"-errordiv")
  el.className += " error"
}

function valSuccess(id) {
  //alert(id)
  var el = document.getElementById(id+"-errordiv")
  //alert(el.className)
  el.className = ""
}

function check_delete () {
  
  if (document.getElementById("deleteid").value == "cancelled") {
  document.getElementById("deleteid").value = ""
  return false
  }
  else return true
}


function confirm_delete (id) {
  var c=confirm("are you sure you want to delete?")
  if (c==true) {
    document.getElementById("deleteid").value = id
    return true
  }
  else {
    document.getElementById("deleteid").value = "cancelled"
    return false
  }
}

slideElement = null
function slide (dist, time) {
  disp = slideElement.style.top
  disp = disp.substring(0, ((disp.length - 2)*1)) *1
  if (-disp < slideElement.offsetHeight) {
    slideElement.style.top = disp + dist + 'px'
    setTimeout('slide(' + dist + ',' + time + ')',time)
  }
}

function ER_colour (id, type, valuea, returneda, proposeda, valueb, returnedb, proposedb, valuec, returnedc, proposedc) {

  if (typeof(valuea) == "string") valuea = valuea.replace("\n",'\n').replace("\r",'')
  if (valueb && typeof(valuea) == "string") valueb = valueb.replace("\n",'\n').replace("\r",'\r')
  if (valuec && typeof(valuea) == "string") valuec = valuec.replace("\n",'\n').replace("\r",'\r')

  if (type == "normal") {   

    if (returneda == proposeda) {
      if (valuea == proposeda) document.getElementById(id).className = "same"
      else document.getElementById(id).className = "edited"
    }
    else {
      if (valuea == proposeda) document.getElementById(id).className = "changed"
      else if (valuea == returneda) document.getElementById(id).className = "returned"
      else document.getElementById(id).className = "edited"
    }
  }

  else if (type == "warning") {
    if (returneda == proposeda) {
      if (valuea == proposeda) document.getElementById(id).className = "same"
      else document.getElementById(id).className = "warning"
    }
    else {
      if (valuea == proposeda) document.getElementById(id).className = "warning"
      else if (valuea == returneda) document.getElementById(id).className = "returned"
      else document.getElementById(id).className = "warning"
    }
  }

}

function disableSelection() {
  document.body.focus();
  document.onselectstart = function () { 
    return false
  } 
  if (window.sidebar){
    document.onmousedown = function (event) { 
      return false
    }
  }
  return false
}

/* ******************************* */
/* ----------- Buttons ----------- */
/* ******************************* */

button = null

function buttonOver(el) {
  el.parentNode.getElementsByTagName('img')[1].style.visibility = 'visible'
}

function buttonOut(el) {
  el.parentNode.getElementsByTagName('img')[1].style.visibility = 'hidden'
}

function buttonDown(el) {
  button = el
  el.parentNode.getElementsByTagName('img')[2].style.visibility = 'visible'
  //document.onmouseup = mouseUp//'buttonUp(button)'
  if (document.addEventListener) {
    document.addEventListener('mouseup', buttonUp, false);
  }
  else if (document.attachEvent) {
    document.attachEvent('onmouseup', buttonUp);
  }
  else document.onmouseup = buttonUp

  if (el.style.margin == "1px 4px 5px 2px") el.style.margin = "2px 4px 4px 2px"
  else if (el.style.margin == "2px 5px 6px 3px") el.style.margin = "3px 5px 5px 3px"
  
  return false//disableSelection()
}

function buttonUp() {
  button.parentNode.getElementsByTagName('img')[2].style.visibility = 'hidden'
  
  if (button.style.margin == "2px 4px 4px 2px") button.style.margin = "1px 4px 5px 2px"
  else if (button.style.margin == "3px 5px 5px 3px") button.style.margin = "2px 5px 6px 3px"
}
/* ******************************* */  
/* ----------- JSchecks ---------- */
/* ******************************* */ 

function JScheckClick(element) {
  input = element.getElementsByTagName('input')[0]
  bg = element.getElementsByTagName('img')[1]
  if (input.checked) {
    bg.style.visibility = 'hidden'
    input.checked = false
  }
  else {
    bg.style.visibility = 'visible'
    input.checked = true
  }
}
/* ******************************* */  
/* ---------- JSselects ---------- */
/* ******************************* */ 


function clicked(element) {
  if (element.parentNode.className == 'jsselect') {
    if (element.className == 'open') {
      element.className = '' 
    }
    else {
      element.className = 'open'
    }
  }
  else {
    name = element.parentNode.parentNode.id
    value = element.getElementsByTagName('input')[0].value
    text = element.innerHTML
    document.getElementById(name+'_JSselect_input').value = value
    document.getElementById(name+'_JSselect_display').innerHTML = text
    
    document.getElementById(name+'_JSselect_table').style.border = 'solid 1px #7f9db9'
  }
}

function hover (element) {
  if (element.parentNode.className == 'jsselect') {
    name = element.id
    document.getElementById(name+'_select_img').src = 'select-arrow-hover.jpg'
  }
  else {
    element.className = 'hover'
  }
}

function unhover (element) {
  if (element.parentNode.className == 'jsselect') {
    name = element.id  
    document.getElementById(name+'_select_img').src = 'select-arrow.jpg'
  }
  else {
    element.className = ''
  }
}

JSselects = null

function findSelects() {
  JSselects = document.getElementsByClassName('jsselect')
  alert(JSselects.length)
}

function closeselects (e) {
  e = e || window.event
  
  if (!JSselects) JSselects = document.getElementsByClassName('jsselect')
  for(i=0; element = JSselects[i]; i++) {
   
    if (element.offsetParent) {
      
  	  oleft = element.offsetLeft;
  	  otop = element.offsetTop;
  	  
  	  offset = element;
  	  while (offset = offset.offsetParent) {
 		    oleft += offset.offsetLeft;
 		    otop += offset.offsetTop;
  	  }
  	
    }
    
    Celement = element.getElementsByTagName('li')[0]
    width = Celement.offsetWidth;
    height = Celement.offsetHeight;    
    /*
    if (element.childNodes[1].className == 'open') {
      height += element.childNodes[1].childNodes[2].offsetHeight
    }
    */
    
    x = oleft;
    y = otop;
    w = width;
    h = height;    
    
    if (e.pageX != undefined) {
      mx = e.pageX;
      my = e.pageY;
    }
    else if ( (e.clientY != undefined) && (document.body.scrollLeft != undefined) && (document.body.scrollTop != undefined) ) {
      mx = e.clientX + document.body.scrollLeft;
      my = e.clientY + document.body.scrollTop;
    }
    
    if ( !(mx>x && mx<(x+w) && my>y && my<(y+h)) ) {
    
      Celement.className = '';
      
    }

  }

}

function swap(smallimage) {
  small = smallimage.src
  pos = small.lastIndexOf('s')
  small = small.substr(0, pos) + 'm' + small.substr(pos+1)
  document.getElementById('mainimage').src = small
}

function FadeIn(el, time) {

  Opac(el,00)
  setTimeout(function(){Opac(el,05)},time * 0.05)
  setTimeout(function(){Opac(el,10)},time * 0.10)
  setTimeout(function(){Opac(el,15)},time * 0.15)
  setTimeout(function(){Opac(el,20)},time * 0.20)
  setTimeout(function(){Opac(el,25)},time * 0.25)
  setTimeout(function(){Opac(el,30)},time * 0.30)
  setTimeout(function(){Opac(el,35)},time * 0.35)
  setTimeout(function(){Opac(el,40)},time * 0.40)
  setTimeout(function(){Opac(el,45)},time * 0.45)
  setTimeout(function(){Opac(el,50)},time * 0.50)
  setTimeout(function(){Opac(el,55)},time * 0.55)
  setTimeout(function(){Opac(el,60)},time * 0.60)
  setTimeout(function(){Opac(el,65)},time * 0.65)
  setTimeout(function(){Opac(el,70)},time * 0.70)
  setTimeout(function(){Opac(el,75)},time * 0.75)
  setTimeout(function(){Opac(el,80)},time * 0.80)
  setTimeout(function(){Opac(el,85)},time * 0.85)
  setTimeout(function(){Opac(el,90)},time * 0.90)
  setTimeout(function(){Opac(el,95)},time * 0.95)
  setTimeout(function(){Opac(el,100)},time)
}
function Opac (el, o) { 
  el.style.filter = 'alpha(opacity='+o+')'
  el.style.opacity = (o / 100)
}

function fade(el, o) {
  o -= 10
  if (o > 0) {
    Opac(el, o);
    setTimeout(function(){fade(el, o)}, 100)
  }
  else {
    Opac(el, 0)
    el.style.display = 'none'
  }
}


function ajaxFunction(element) {

  var xmlHttp;
  
  try {
    // Firefox, Opera 8.0+, Safari
    xmlHttp = new XMLHttpRequest();
  }
  catch (e) {
    // Internet Explorer
    try {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
      try {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e) {
        alert("Your browser does not support AJAX!");
        return false;
      }
    }
  }

  xmlHttp.onreadystatechange = function() {
    if(xmlHttp.readyState == 4) {
      document.getElementById('artistlist').innerHTML = xmlHttp.responseText
    }
  }
  
  if (element.name == 'name') query = '?name='+element.value
  xmlHttp.open("POST","artistlist.php"+query,true);
  xmlHttp.send(null);
}

/* ********* lightbox ********* */

function idsObject () {
  this.a_id
  this.c_id
  this.lb_id
  return this
}

function lb_show (id) {
  document.getElementById('lb_new').style.display = 'none'
  document.getElementById('lb_open').style.display = 'none'
  document.getElementById('lb_email').style.display = 'none'
  document.getElementById('lb_artists').style.display = 'none'
  if (el = document.getElementById(id)) {
    el.style.display = 'block'
  }
}

function lb_newForm (ids) {
  lb_show('lb_new')
  document.getElementById('name-input').value = ''
}

function lb_new (ids, name) {

  if (ajax = ajaxObject()) {
    loadingOn()
    
    ajax.onreadystatechange=function() {
      if(ajax.readyState==4) {
        if (!isNaN(ajax.responseText)) {
          ids.lb_id = ajax.responseText
          document.getElementById('lb_artists').innerHTML = 'Lightbox Empty.'
          document.getElementById('lb_new').style.display = 'none'
          lb_show('lb_artists')
        }
        else alert('Error')
        
        loadingOff()
      }
    }

    params = '?c_id='+ids.c_id+'&name='+name
    ajax.open("GET","SSS_lb_new.php"+params,true); 
    ajax.send(null);
    
  }
  else alert('Ajax Error')
  
}

function lb_openList (ids) {
  
  if (ajax = ajaxObject()) {
    loadingOn()
    
    ajax.onreadystatechange=function() {
      if(ajax.readyState==4) {
        container = document.createElement('div')
        container.innerHTML = ajax.responseText
        document.getElementById('lb_open').innerHTML = ''
        document.getElementById('lb_open').appendChild(container)
        lb_show('lb_open')
        
        loadingOff()
      }
    }

    params = '?lb_id='+ids.lb_id+'&c_id='+ids.c_id
    ajax.open("GET","SSS_lb_openlist.php"+params,true); 
    ajax.send(null);
    
  }
  else alert('Ajax Error')
  
}

function lb_open (ids, lb_id) {

  var ajax
  if (ajax = ajaxObject()) {
    loadingOn()
    
    ids.lb_id = lb_id
        
    ajax.onreadystatechange=function() {
      if(ajax.readyState==4) {
        container = document.createElement('div')
        container.innerHTML = ajax.responseText
        document.getElementById("lb_artists").innerHTML = ''
        document.getElementById("lb_artists").appendChild(container)
        lb_show('lb_artists')
        loadingOff()
      }
    }
            
    params = '?lb_id='+lb_id+'&c_id='+ids.c_id+'&time='+time()
    ajax.open("GET","SSS_lb_open.php"+params,true); 
    ajax.send(null);
    
  }
  else alert('Ajax Error')
  
}

function lb_delete (ids, el) {
  
  if (ajax = ajaxObject()) {
    loadingOn()
    
    ajax.onreadystatechange=function() {
      if(ajax.readyState==4) {
        //lb_openList(ids)
        lb_show('none')
        
        loadingOff()
      }
    }
            
    params = '?lb_id='+ids.lb_id+'&c_id='+ids.c_id
    ajax.open("GET","SSS_lb_delete.php"+params,true);
    ajax.send(null);
    
    ids.lb_id = null
    
    
  }
  else alert('Ajax Error')
  
}

function lb_add (ids) {
  lb_show('lb_artists')
  
  if (ajax = ajaxObject()) {
    loadingOn()
    
    ajax.onreadystatechange=function() {
      if(ajax.readyState==4) {
        //alert(ajax.responseText)
        if (this.responseText == 1) {
          // artist is already in the lightbox
        }
        else {
          //td.parentNode
          lb_open (ids, ids.lb_id)
        }
        
        loadingOff()
      }
    }

    params = '?lb_id='+ids.lb_id+'&c_id='+ids.c_id+'&a_id='+ids.a_id
    ajax.open("GET","SSS_lb_add.php"+params,true); 
    ajax.send(null);
    
  }
  else alert('Ajax Error')
  
}

function lb_remove (ids) {

  if (ajax = ajaxObject()) {
    loadingOn()
    
    ajax.onreadystatechange=function() {
      if(ajax.readyState==4) {
        if (ajax.responseText == 1) {
          // artist was not in the lightbox
        }
        else if (ajax.responseText == 2) {
          // unknown error
        }
        else {
          lb_open (ids, ids.lb_id)
        }
        
        loadingOff()
      }
    }

    params = '?lb_id='+ids.lb_id+'&c_id='+ids.c_id+'&a_id='+ids.a_id
    ajax.open("GET","SSS_lb_remove.php"+params,true); 
    ajax.send(null);
    
  }
  else alert('Ajax Error')
  
}

function lb_emailForm (ids, type) {
  document.getElementById('lb_email_type').value = type
  lb_show('lb_email')
}

function lb_email (to, subject, message, type, ids) {

  if (ajax = ajaxObject()) {
    loadingOn()
    
    ajax.onreadystatechange=function() {
      if(ajax.readyState==4) {
        alert(ajax.responseText)
        lb_show('lb_artists')
        
        loadingOff()
      }
    }

    params = '?lb_id='+ids.lb_id+'&c_id='+ids.c_id+'&a_id='+ids.a_id+'&type='+type+'&to='+to+'&subject='+subject+'&message='+message
    ajax.open("GET", "SSS_lb_email.php"+params, true);
    ajax.send(null);
    
  }
  else alert('Ajax Error')
  
}

/* ********* Lib ********* */

document.getElementsByClassName = function(clsName) {
  var retVal = new Array();
  var elements = document.getElementsByTagName("*");
  for(var i = 0;i < elements.length;i++) {
    if(elements[i].className.indexOf(" ") >= 0) {
      var classes = elements[i].className.split(" ");
      for(var j = 0;j < classes.length;j++) {
        if(classes[j] == clsName) {
          retVal.push(elements[i]);
        }
      }
    }
    else if(elements[i].className == clsName) {
      retVal.push(elements[i]);
    }
  }
  return retVal;
}

function urlencode(str) {
  str = escape(str)
  str = str.replace('+', '%2B')
  str = str.replace('%20', '+')
  str = str.replace('*', '%2A')
  str = str.replace('/', '%2F')
  str = str.replace('@', '%40')
  return str
}

function urldecode(str) {
  str = str.replace('+', ' ')
  str = unescape(str)
  return str
}

/* ************* Ajax ************ */

function ajaxObject() {
  var ajaxObject
  try {
    // Firefox, Opera 8.0+, Safari
    ajaxObject = new XMLHttpRequest();
  }
  catch (e) {
    // Internet Explorer
    try {
      ajaxObject = new ActiveXObject("Msxml2.XMLHTTP")
    }
    catch (e) {
      try {
        ajaxObject = new ActiveXObject("Microsoft.XMLHTTP")
      }
      catch (e) {
        return false;
      }
    }
  }
  return ajaxObject
}

/*function ajaxRequest (function, params, target, method="GET") {

 if (ajax = ajaxObject()) {
    
    ajax.onreadystatechange=function

    ajax.open("GET", target+params, true); 
    ajax.send(null);
    
  }
  else alert('Ajax Error')
  
}*/

function search () {
  //input = element.parentNode.parentNode.getElementsByTagName('input')[0] // from when passed an Element from a JSselect
  var ajax
  if (ajax = ajaxObject()) {
    loadingOn()
    
    searching = document.createTextNode("searching...")
    document.getElementById("searchimagescroll").appendChild(searching)
    
    
    ajax.onreadystatechange=function() {
    
      if(ajax.readyState==4) {
        container = document.createElement('div')
        container.innerHTML = ajax.responseText
        var scroll = document.getElementById("searchimagescroll")
        scroll.innerHTML = ''
        scroll.appendChild(container)
        if(scroll.addEventListener) {
          scroll.addEventListener('mousemove', imageScroll, false)
          scroll.addEventListener('mouseup', imageScroll, false)
        }
        else if (scroll.attachEvent) {
          scroll.attachEvent('onmousemove', imageScroll)
          scroll.attachEvent('onmouseup', imageScroll)
        }
        else if (scroll.onmouseover) {
          scroll.onmouseover = imageScroll
          scroll.mouseup = imageScroll
        } 
        else {
        }
        imageScroll()
        //alert(ajax.responseXML.getElementByID('searchresultstable'))
        //document.getElementById("searchimagescroll").appendChild(ajax.responseXML.getElementsByTagName('table')[0])
        loadingOff()
      }
    }

    var params = '?'
    for(i=0; i<document.forms[0].elements.length; i++) {
      if (document.forms[0].elements[i].name) {
        params += document.forms[0].elements[i].name + '='
        if (document.forms[0].elements[i].type == 'checkbox') {
          if (document.forms[0].elements[i].checked) {
            params += urlencode(document.forms[0].elements[i].value) + '&'
          }
          else {
            params += '&'
          }
        }
        else {
          params += urlencode(document.forms[0].elements[i].value) + '&'
        }
      }
    }
    ajax.open("GET","SSS_search.php"+params,true); 
    ajax.send(null);
  }
  else alert('Ajax Error')
}

var a = false
function imageScroll() {
  var funcBegin = time();
  //alert(time())
  var begin = time();  var el = document.getElementById('searchimagescroll');                       //console.log("get el " + (time() - funcBegin) );
  var begin = time();  var imageWidth = 56 + 0;                                                     //console.log("image width " + (time() - funcBegin) );
  var begin = time();  var scrollLeft = el.scrollLeft;                                              //console.log("scroll left " + (time() - funcBegin) );
  var begin = time();  var offsetWidth = el.offsetWidth;                                            //console.log("scroll width " + (time() - funcBegin) );
  var begin = time();  var images = el.getElementsByTagName('img');                                 //console.log("images " + (time() - funcBegin) );
  var begin = time();  var s = Math.floor(scrollLeft / imageWidth);                                 //console.log("s " + (time() - funcBegin) );
  var begin = time();  var e = Math.ceil( (scrollLeft*1 + offsetWidth*1) / imageWidth) + 10;        //console.log("e " + (time() - funcBegin) );
  document.getElementById('output').value = s + ' -- ' + e
  var imageLength = images.length;
  var begin = time();  while (s <= e && s < imageLength) {
    if (!a[s]) {
      a[s] = true
      //images[s].style.display = 'inline'
      var image = images[s]
      //console.log(image.src + " --- " + image.className)
      image.src = image.className
    }
    s++
  };                                                                                                
  //console.log("loop " + (time() - funcBegin) );
  //document.getElementById('output').value = document.getElementById('output').value + images[s-1].style.display
  //console.log("Func Total " + (time() - funcBegin) );
}

function next(id) {
  /*var el = document.getElementById('searchimagescroll');
  var images = el.getElementsByTagName('img');
  var image = images[id*1 + 5]
  image.src = image.className*/
}

function openArtist(ids, a_id) {
  if ( (ajax = ajaxObject()) ) {
    loadingOn()
    ids.a_id = a_id
    
    ajax.onreadystatechange=function() {
      if(ajax.readyState==4) {
        container = document.createElement('div')
        container.innerHTML = ajax.responseText
        document.getElementById("artistpage").innerHTML = ''
        document.getElementById("artistpage").appendChild(container)
        loadingOff()
      }
    }

    params = '?a_id='+a_id
    ajax.open("GET","SSS_artist.php"+params,true);  
    ajax.send(null);
  }
  else alert('Ajax Error')
}

var loading = 0
function loadingOn () {
  document.getElementById('loading').style.display = 'inline'
  loading++
}
function loadingOff () {
  loading--
  if (loading <= 0) document.getElementById('loading').style.display = 'none'
}

function time() {
  var currentTime = new Date()
  return currentTime.getTime() 
}