function off(i)     { var n; if (i.id == '') { n=i.name; } else if (i.id.indexOf('-') == -1) { n=i.id; } else { n=i.id.substr(0,i.id.indexOf('-')); } i.src=('/nav/'+n+'.gif'); }
function on(i)      { var n; if (i.id == '') { n=i.name; } else if (i.id.indexOf('-') == -1) { n=i.id; } else { n=i.id.substr(0,i.id.indexOf('-')); } i.src=('/nav/'+n+'_ov.gif'); }
function press(i)   { var n; if (i.id == '') { n=i.name; } else if (i.id.indexOf('-') == -1) { n=i.id; } else { n=i.id.substr(0,i.id.indexOf('-')); } i.src=('/nav/'+n+'.gif'); }
function cnfrm(m,l) { var c=confirm(m); if (c) { document.location.href=l; } }

// GLOBAL
function validateGlobalSearchForm(msg)
{
    if ( document.forms.glbsearchform.search_key_1.value == "" )
    {
        alert(unescape(msg));
        return false;
    }
    return true;
}


// GUIDEDSEARCH
function addToBrowseBox(msg,photo,r)
{
    cnfrm(unescape(msg),'_/_addtobrowsebox.php?photo='+photo+'&refer=' + r);
}
function validateSmallSearchForm(msg)
{
    if ( document.forms.searchform.search_key_1.value == "" )
    {
        alert(unescape(msg));
        return false;
    }
    return true;
}

// LIGHTBOX
function emptyLightbox(pl) { if(pl!='') { cnfrm(lcl_empty_lightbox,'_/_deletefrombrowsebox.php?photos_to_delete=' + pl); } }
function emptyLightboxFolder(lb,pl) { if(pl!='') { cnfrm(lcl_empty_lightbox_folder,'_/_deletefromlightbox.php?lightbox='+lb+'&photos_to_delete=' + pl); } }
function removeLightbox(lb) { cnfrm(lcl_remove_lightbox,'_/_deletelightbox.php?lightbox=' + lb); }
function emptyBasket(pl) { if(pl!='') { cnfrm(lcl_empty_basket,'_/_deletefromshoppingbasket.php?photos_to_delete=' + pl); } }
function lbAction(action)
{
    var selected_photos = new Array();
    var inputs = document.getElementsByTagName('input');
    for (var x=0 ; x<inputs.length ; x++)
    {
        var el = inputs[x];
        if (el.type == 'checkbox' && el.name.substr(0,6) == 'photo_' && el.checked)
            selected_photos[selected_photos.length] = el.value;
    }
    if (selected_photos.length == 0) { alert(lcl_select_photos); return; }

    if (action == 'copymove_to_lightbox')
    {
        document.forms.copymove_form.photos.value='[' + selected_photos.join('][') + ']';
        var act;
        if (document.forms.copymoveform.photoaction[0].checked) { act=document.forms.copymoveform.photoaction[0].value; }
        if (document.forms.copymoveform.photoaction[1].checked) { act=document.forms.copymoveform.photoaction[1].value; }
        document.forms.copymove_form.action.value=act;
        document.forms.copymove_form.source.value=document.forms.copymoveform.sourcelightbox.value;
        document.forms.copymove_form.destination.value=document.forms.copymoveform.targetlightbox.value;
        document.forms.copymove_form.submit();
    }
    else if (action == 'delete_selection')
    {
        document.forms.delete_selection_form.photos_to_delete.value='[' + selected_photos.join('][') + ']';;
        document.forms.delete_selection_form.submit();
    }
    else if (action == 'order_selection')
    {
        document.forms.order_selection_form.photos_to_add.value='[' + selected_photos.join('][') + ']';;
        document.forms.order_selection_form.submit();
    }
}
function lbBoxSelection(b,l)
{
    if (b == 'new')
    {
        if (!l)
            alert(lcl_lb_notloggedin);
        else
        {
            var name = prompt(lcl_lb_spec_name);
            if (name)
                if (name == '')
                    alert(lcl_lb_valid_name);
                else
                    document.location.href = '_/_createlightbox.php?name='+escape(name);
        }
    }
    else
        document.location.href='lightbox.php?lightbox='+b;
}
function lbChangeBoxName(lb,lbn)
{
    var newname = prompt(lcl_lb_spec_new_name, lbn);
    if (newname)
        if (newname != "")
            document.location.href = '_/_changelightboxname.php?lightbox=' + lb + '&name='+escape(newname);
        else
            alert(lcl_lb_valid_name);
}
function lbAddNote(lb)
{
    var note = prompt(lcl_lb_spec_note, '');
    if (note)
        document.location.href='_/_assignnotetolightbox.php?lightbox='+lb+'&note='+escape(note);
}
function lbSelect(action)
{
    var inputs = document.getElementsByTagName('input');
    for (var x=0 ; x<inputs.length ; x++)
    {
        var el = inputs[x];
        if (el.type == 'checkbox' && el.name.substr(0,6) == 'photo_')
            el.checked=action;
    }
}

// SEARCH
var search_catselectors_shown = 0;
function appendCatselector(selectedCat)
{
  var div = document.getElementById('combocats');
  if (div)
  {
    var p = document.createElement('p');
    var select = document.createElement('select');
    select.id = 'cat-'+search_catselectors_shown;
    select.className = 'formDrop select';
    select.onchange = doCatSelection;
    for (x in cats)
    {
      var opt = document.createElement('option');
      opt.value = x
      if ( selectedCat == x )
        opt.selected = 'selected';
      opt.appendChild(document.createTextNode(cats[x]));
      select.appendChild(opt);
    }
    p.appendChild(select);

    if (search_catselectors_shown == 0)
    {
      var pluscontainer = document.createElement('span');
      pluscontainer.className = 'add-node';
      var plusbtn = document.createElement('img');
      plusbtn.src='/nav/plus.gif';
      plusbtn.name='plus';
      plusbtn.className='formButton';
      plusbtn.onclick=appendCatselector;
      plusbtn.onmouseover= function () { on(this); }
      plusbtn.onmouseout= function () { off(this); }
      plusbtn.onmousedown= function () { press(this); }
      pluscontainer.appendChild(plusbtn);
      p.appendChild(document.createTextNode('   '));
      p.appendChild(pluscontainer);
    }
    div.appendChild(p);
    search_catselectors_shown++;
  }
}

function doCatSelection()
{
  var cats = document.getElementById('search-cats');
  if (cats)
  {
    var tmp = new Array();
    var selects = document.getElementsByTagName('select');
    for (var x=0 ; x<selects.length ; x++)
    {
      var s = selects[x];
      if (s.id.substring(0,4) == 'cat-' && s.value != '')
        tmp[tmp.length] = s.value;
    }
    cats.value = tmp.join(',');
  }
}

function advSrch(x)
{
    var o = document.getElementById('advsearchbox');
    if (x)
    {
        o.style.display = 'block';
        fadeAdvSrch('in', true);
    }
    else
    {
        fadeAdvSrch('out', true);
        o.style.display = 'none';
    }
    document.forms.searchform.search_key_1.value = '';
}

var cur_opacity = 0;
function fadeAdvSrch(inout,start)
{
    var b = '';
    if (start && inout == 'in')
        cur_opacity = 0;
    else if (start && inout == 'out')
        cur_opacity = 100;
    if (inout == 'in' && cur_opacity < 100)
    {
        cur_opacity += 30;
        if (document.all && document.getElementById)
            document.getElementById('advsearchbox').style.filter = 'alpha(opacity=' + cur_opacity +')';
        else
            document.getElementById('advsearchbox').style.opacity = cur_opacity/100;
        setTimeout("fadeAdvSrch('"+inout+"')",40);
    }
    else if (inout == 'out' && cur_opacity > 100)
    {
        cur_opacity -= 30;
        if (document.all && document.getElementById)
            document.getElementById('advsearchbox').style.filter = 'alpha(opacity=' + cur_opacity +')';
        else
            document.getElementById('advsearchbox').style.opacity = cur_opacity/100;
        setTimeout("fadeAdvSrch('"+inout+"')",40);
    }
}

function validateAdvSearchForm()
{
    if (	document.forms.advsearchform.search_key_1.value == '' &&
            document.forms.advsearchform.search_key_2.value == '' &&
            document.forms.advsearchform.search_key_3.value == '' &&
            document.forms.advsearchform.search_key_4.value == '' &&
            document.forms.advsearchform.photographer.value == 'all' &&
            document.forms.advsearchform.orientation.value == 'all' 
       )
       {
            for (var x=0 ; x<search_catselectors_shown ; x++)
                if (document.getElementById('cat-' + x).value != '')
                    return true;
            alert(lcl_specify_search_crit);
            return false;
       }
    return true;
}

// ORDER
function duplicatePhotoDetails(src)
{
    var source_size = getRadioValue('size_'+src);
    var source_placement = getRadioValue('placement_'+src);
    if (!source_size || !source_placement) { return; }
    var source_is_cover = document.forms.orderForm['is_cover_'+src].checked;
    for (var x=1 ; x <= total_amount_of_photos ; x++)
    {
        setRadioValue('size_' + x, source_size);
        setRadioValue('placement_' + x, source_placement);
        document.forms.orderForm['is_cover_'+x].checked = source_is_cover;
    }
}

function checkStepAccountDetails(i,v,oc)
{
    var o = document.getElementById('ordercode');
//    var s = document.getElementById('sofampresent');
    if (o)
    {
        if (o.value == '')
            alert(lcl_specify_order_code);
        else
            document.location.href='orderdetails.php?id='+i+'&key='+v+'&oc='+document.getElementById('ordercode').value;
    }
//    else if (s)
//    {
//        document.location.href='orderdetails.php?id='+i+'&key='+v+'&sofam='+getRadioValue('sofam');
//    }
    else
        document.location.href='orderdetails.php?id='+i+'&key='+v;
}

function showCM()
{
    w = screen.width;
    h = screen.height;
    window.open('cmcalc.php', 'cmcalc', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=400,height=200,top=' + ( (h/2) - 100) + ',left=' + ( (w/2) - 200));
}

// COMMON
function getRadioValue(n)
{
    var inputs = document.getElementsByTagName('input');
    for (var x=0 ; x<inputs.length ; x++)
    {
        var el = inputs[x];
        if (el.type == 'radio' && el.checked && el.name == n)
            return el.value;
    }
    return false;
}
function setRadioValue(n,v)
{
    var inputs = document.getElementsByTagName('input');
    for (var x=0 ; x<inputs.length ; x++)
    {
        var el = inputs[x];
        if (el.type == 'radio' && el.value == v && el.name == n)
            return el.checked=true;
    }
}
function upperInput(i)
{
    i.value = i.value.toUpperCase();
}