function goto_URL(object) {
  window.location.href = object.options[object.selectedIndex].value;
}


//Confirm user action
function confirm_action(msg) {
	if (confirm(msg)) {
		return true;
	} else {
		return false;
	}
}

//Confirm user action then redirect to new url
function confirm_location(msg,url) {
	if (confirm(msg)) {
		window.location = url;
	} else {
		return false;
	}
}



//Used for cancelling <form> edits
function cancel_edit(msg) {
	if (msg == NULL) {
		msg = "Are you sure you want to discard these changes?";
	}
	if (confirm(msg)) {
		javascript:history.back();
	}
}







//Add/Remove/Swap/Check for CSS class on element
//Unobtrusive Javascript - http://onlinetools.org/articles/unobtrusivejavascript/cssjsseparation.html
function jscss(a,o,c1,c2)
{
  switch (a){
    case 'swap':
      o.className=!jscss('check',o,c1)?o.className.replace(c2,c1): o.className.replace(c1,c2);
    break;
    case 'add':
      if(!jscss('check',o,c1)){o.className+=o.className?' '+c1:c1;}
    break;
    case 'remove':
      var rep=o.className.match(' '+c1)?' '+c1:c1;
      o.className=o.className.replace(rep,'');
    break;
    case 'check':
      return new RegExp('\\b'+c1+'\\b').test(o.className)
    break;
  }
}





//Return an array of elements with a specific class
//Dustin Diaz - http://www.dustindiaz.com/getelementsbyclass/
function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}





//Show/hide sales option prices
function sales_options(a) {
    var soptions = document.getElementById("sales-options");
    var snotice  = document.getElementById("sales-options-hide");
    if (a.value == "") {
        jscss('remove',snotice,'hide');
        jscss('add',soptions,'hide');
    } else {
        jscss('add',snotice,'hide');
        jscss('remove',soptions,'hide');
    }
}



//Choose default thumbnail for categories
function set_cat_thumb(linkel,catid) {
    var curid = document.getElementById("current_cat_thumb");
    curid.value = catid;

    //Remove "selected" class from all elements
    var el_ul = document.getElementById("select-cat-thumb");
    var arr_li = el_ul.getElementsByTagName("li");
    var el_len = arr_li.length;
    for (i = 0, j = 0; i < el_len; i++) {
        el_link = arr_li[i].getElementsByTagName("a");
        jscss("remove",el_link[0],"selected");
	}

    //Apply "selected" class to current element
    var new_sel = document.getElementById(linkel);
    new_sel.className = "selected";
}
