// shared.js script, version 2.1, 08-13-03, Hot Pepper, Inc., http://www.hotpepper.com

// img preloads =====================================================
/*
hh = new Image(); hh.src = d+"pix/hh.gif"; hh_roll = new Image(); hh_roll.src = d+"pix/hh_roll.gif";
*/	
// /img preloads =====================================================

// popup window functions ==========================================
function popFlex(URL,winName,W,H,scroll)
	{
	if (scroll == "no")
		{scroll = "scrollbars=no";}
	else if (scroll == "yes")
		{scroll = "scrollbars";}
	window.open(URL, winName,"top=0,left=30,width="+W+",height="+H+",resizable=no,"+scroll+"");
	}	
// /popup window functions ==========================================

var ver5up = false;
if (document.getElementById) {ver5up = true;}
function showHide(display,divid)
	{
	// call like this: <a href="" onmouseover="showHide('block','myDiv');" onmouseout="showHide('none','myDiv');"
	if (ver5up)
		{
		document.getElementById(divid).style.display = display;
		}
	}

function showhide_v2(divid,classes,onstate) {
	if (document.getElementById(divid).className == classes+' none' || 
	document.getElementById(divid).className == 'none') {
		document.getElementById(divid).className = classes+' '+onstate;
		}
	else {
		document.getElementById(divid).className = classes+' none';
		}
	return divid;
	}

function inserttag(field,tagname)
	{
	// calling the function: <input type="button" name="bold" value=" b " onclick="inserttag(document.form1.textarea1,'b');"'>
	var tagopen = "<"+tagname+">";
	var tagclose = "</"+tagname+">";

	// center ===============
	if (tagname == "center")
		{
		var tagopen = '<div align=\"center\">';
		var tagclose = '</div>';
		}
	// /center ===============

	// insert url ===========
	if (tagname == "link")
		{
		var url = prompt("Enter web address[url]:","");
		if (url != "")
			{
			var target = '';
			var gettarget = confirm("Open link in new window?");
			if (gettarget) {target = ' target="_blank"';}
			var tagopen = '<a href="http://'+url+'"'+target+'>';
			var tagclose = '</a>';
			}
		else {return;}
		}
	// /insert url ===========
	
	//ie
	if (document.selection)
		{
		field.focus();
		var selection = document.selection.createRange();
		selection.text = tagopen+selection.text+tagclose;
		}
	// w3c
	else if (field.selectionStart | field.selectionStart == '0')
		{
		var startPos = field.selectionStart;
		var endPos = field.selectionEnd;
		var starttext = field.value.substring(0,startPos);
		var selection = field.value.substring(startPos,endPos);
		var endtext = field.value.substring(endPos,field.value.length);
		field.value = starttext+tagopen+selection+tagclose+endtext;
		}
	// everybody else
	else{alert("Sorry, your browser doesn't support this feature.");}
	}

function htmlbuttons(field)
	{
	// call like this: <script type="text/javascript">htmlbuttons("document.formName.fieldName");</script>
	document.writeln('<div>'+
	'<a href="#" name="bold" onclick="inserttag('+field+',\'b\'); return false;"><b>[b]</b></a>&nbsp;'+
	'<a href="#" name="italic" onclick="inserttag('+field+',\'i\'); return false;"><b>[i]</b></a>&nbsp;'+
	'<a href="#" name="ol" onclick="inserttag('+field+',\'ol\'); return false;"><b>[ol]</b></a>&nbsp;'+
	'<a href="#" name="ul" onclick="inserttag('+field+',\'ul\'); return false;"><b>[ul]</b></a>&nbsp;'+
	'<a href="#" name="li" onclick="inserttag('+field+',\'li\'); return false;"><b>[li]</b></a>&nbsp;'+
	'<a href="#" name="url" onclick="inserttag('+field+',\'link\'); return false;"><b>[url]</b></a>&nbsp;'+
	'<a href="#" name="blockquote" onclick="inserttag('+field+',\'blockquote\'); return false;"><b>[blockquote]</b></a>&nbsp;'+
	'<a href="#" name="center" onclick="inserttag('+field+',\'center\'); return false;"><b>[center]</b></a>&nbsp;'+
	'</div>');
	}

function setname(a) {
	if (document.getElementById(a).className == 'a block') {
		document.cookie = 'open_'+a+'='+a;
		}
	if (document.getElementById(a).className == 'a none') {
		document.cookie = 'open_'+a+'=0;expires=Tues, 02 Apr 1999 01:00:00 GMT;'
		}
	}
function setname_checkcookie() {
	//document.writeln(document.cookie);
	var allcookies = document.cookie.split(';');
	for (var n = 0; n < allcookies.length; n++) {
		nv = allcookies[n].split('=');
		var name = nv[0];
		var value = nv[1];
		if (name.indexOf('open_') != -1) {
			if (document.getElementById(value)) {
				showhide_v2(value,'a','block');
				}
			}
		}
	}

// utilities ==================================================================
function trim( str, charlist ) {
    // Strip whitespace (or other characters) from the beginning and end of a string
    // 
    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_trim/
    // +       version: 804.1015
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: mdsjack (http://www.mdsjack.bo.it)
    // +   improved by: Alexander Ermolaev (http://snippets.dzone.com/user/AlexanderErmolaev)
    // +      input by: Erkekjetter
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: DxGx
    // +   improved by: Steven Levithan (http://blog.stevenlevithan.com)
    // *     example 1: trim('    Kevin van Zonneveld    ');
    // *     returns 1: 'Kevin van Zonneveld'
    // *     example 2: trim('Hello World', 'Hdle');
    // *     returns 2: 'o Wor'

    var whitespace;
    
    if(!charlist){
        whitespace = ' \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000';
    } else{
        whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
    }
  
	for (var i = 0; i < str.length; i++) {
		if (whitespace.indexOf(str.charAt(i)) === -1) {
		str = str.substring(i);
		break;
		}
	}
	for (i = str.length - 1; i >= 0; i--) {
		if (whitespace.indexOf(str.charAt(i)) === -1) {
			str = str.substring(0, i + 1);
			break;
    	}
	}
	return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}// }}}

// {{{ ltrim
function ltrim ( str, charlist ) {
    // Strip whitespace (or other characters) from the beginning of a string
    // 
    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_ltrim/
    // +       version: 804.1015
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Erkekjetter
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: ltrim('    Kevin van Zonneveld    ');
    // *     returns 1: 'Kevin van Zonneveld    '

    charlist = !charlist ? ' \s\xA0' : charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
    var re = new RegExp('^[' + charlist + ']+', 'g');
    return str.replace(re, '');
}// }}}

function cb_to_rad(form,obj) {
/*
make a set of checkboxes behave like a set of radio buttons with the added ability to have no selections

call like so:
<input onclick="cb_to_rad(docuemnt.formname,this);" type="checkbox" name="radname" id="radname_1" value="Yes" />'."\r\n";
<input onclick="cb_to_rad(docuemnt.formname,this);" type="checkbox" name="radname" id="radname_2" value="No" />'."\r\n";
*/
	var cb_array = new Array();
	var i = -1;
	for (var n=0;n<form.elements.length;n++) {
		if (form.elements[n].name == obj.name) {
			i++;
			cb_array[i] = form[n];
			}
		}
	for (var n=0;n<cb_array.length;n++) {
		if (obj.checked && cb_array[n].checked && cb_array[n].id != obj.id) {
			cb_array[n].checked = false;
			}
		}
	}
// /utilities ==================================================================
