function get_radio(form_name, element_name){
    value = false;
    var elts = document.forms[form_name].elements[element_name];
    if (!elts) {
        alert('Error #201: elements '+form_name+'.'+element_name+' not found.');
        return false;
    }
    var elts_cnt  = (typeof(elts.length) != 'undefined')
                  ? elts.length
                  : 0;
    if (elts_cnt) {
        for (var i = 0; i < elts_cnt; i++) {
            if (elts[i].checked) {
                value = elts[i].value;
            }
        }
    }
    return value;
}

function get_selected(select_id){
  box = document.getElementById(select_id);
  if (box) {
      return box.options[box.selectedIndex].value;
  } else {
    alert('get_selected: '+select_id+' not found');
      return false;
  }
}

function getFirstValueByName(the_form, field_name)
{
    var elts = document.getElementsByName(field_name);
    var elts_cnt  = (typeof(elts.length) != 'undefined')
                  ? elts.length
                  : 0;
    //alert( field_name + ' found: ' + elts_cnt );
    if (elts_cnt) {
        el_value = elts[0].value;
    } else {
        el_value = false;
    }
    return el_value;
}

function getValueById(id){
    input = document.getElementById(id);
    if (!input) {
        return false;
    }
    return input.value;
}

function getCheckboxById(id){
    input = document.getElementById(id);
    if (!input) {
        return false;
    }
    return input.checked;
}

function getCheckboxByName(the_form, field_name)
{
    var elts = document.getElementsByName(field_name);
    var elts_cnt  = (typeof(elts.length) != 'undefined')
                  ? elts.length
                  : 0;
    //alert( field_name + ' found: ' + elts_cnt );
    if (elts_cnt) {
        if (elts[0].checked) {
            el_value = elts[0].value;
        } else {
            //alert( field_name + ' not checked');
            el_value = 0;
        }
    } else {
        alert( field_name + ' not found');
        el_value = false;
    }
    return el_value;
}



/*******************************/

function goto_country(){
	box = document.destinations.country;
	destination = box.options[box.selectedIndex].value;
	if (destination>'') {
		window.location.href=destination;
	}
}

function preview_image(img_src) {
    pic = new Image();
    pic.src = img_src;
    setTimeout('view_image(pic.src, pic.width, pic.height);', 500);
}

function view_image(img_src, img_width, img_height){
    if (img_width>screen.availWidth-150 || img_width==0) {
        win_width = screen.availWidth-150;
    } else {
        win_width = img_width+20;
    }
    if (img_height>screen.availHeight-150 || img_height==0) {
        win_height = screen.availHeight-150;
    } else {
        win_height = img_height+20;
    }
    win_top  = Math.abs((screen.availHeight - win_height)/3);
    win_left = Math.abs((screen.availWidth -win_width)/3);
    photoWindow = window.open('', '', "resizable=yes,top=" + win_top + ',left=' + win_left + ",width="+win_width+',height='+win_height+",status=0,menubar=0,toolbar=0,scrollbars=yes");
    photoWindow.document.write('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>');
    photoWindow.document.write('<head><title>'+img_src+'</title><style type="text/css"><!-- body {margin:0;padding:0} --></style>');
    photoWindow.document.write('<scr'+'ipt type=text/javascript>');
    photoWindow.document.write('document.onkeypress = function CloseOnEsc(key) { if(document.all) { var keyCode = window.event.keyCode; } else { if (key.which == 0) {window.close();return;}   }  if (keyCode == 27) {window.close();return;} }');
    photoWindow.document.write('</scr'+'ipt>');
    photoWindow.document.write('</head><body><img src="'+img_src+'" ');
    if ( (img_width>1) && (img_height>1) ) {
        photoWindow.document.write('width="'+img_width+'" height="'+img_height+'"');
    }
    photoWindow.document.write(' border=0 onclick="javascript:window.close();">');
    photoWindow.document.write('</body></html>');
    photoWindow.document.bgColor="#f0f0f0";
    photoWindow.document.close()
}

function igallery_image(img_src, img_width, img_height, img_title){
    if (img_width>screen.availWidth-150 || img_width==0) {
        win_width = screen.availWidth-150;
    } else {
        win_width = img_width+20;
    }
    if (img_height>screen.availHeight-150 || img_height==0) {
        win_height = screen.availHeight-150;
    } else {
        win_height = img_height+20;
    }
    win_top  = Math.abs((screen.availHeight - win_height)/3);
    win_left = Math.abs((screen.availWidth -win_width)/3);
    photoWindow = window.open('', '', "resizable=yes,top=" + win_top + ',left=' + win_left + ",width="+win_width+',height='+win_height+",status=0,menubar=0,toolbar=0,scrollbars=yes");
    photoWindow.document.write('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>');
    photoWindow.document.write('<head><title>'+img_title+'</title><style type="text/css"><!-- body {margin:0;padding:0} --></style>');
    photoWindow.document.write('<scr'+'ipt type=text/javascript>');
    photoWindow.document.write('document.onkeypress = function CloseOnEsc(key) { if(document.all) { var keyCode = window.event.keyCode; } else { if (key.which == 0) {window.close();return;}   }  if (keyCode == 27) {window.close();return;} }');
    photoWindow.document.write('</scr'+'ipt>');
    photoWindow.document.write('</head><body><img src="'+img_src+'" ');
    if ( (img_width>1) && (img_height>1) ) {
        photoWindow.document.write('width="'+img_width+'" height="'+img_height+'"');
    }
    photoWindow.document.write(' border=0 onclick="javascript:window.close();">');
    photoWindow.document.write('</body></html>');
    photoWindow.document.bgColor="#f0f0f0";
    photoWindow.document.close()
}

function show_obj(obj_id){
obj=document.getElementById(obj_id);
remove_class(obj, 'hide');
add_class(obj, 'show');
}

function hide_obj(obj_id){
obj=document.getElementById(obj_id);
remove_class(obj, 'show');
add_class(obj, 'hide');
}

function add_class(e,c) {
  e.className=e.className+" "+c;
}

function remove_class(e,c) {
  cn=e.className;
  p=cn.indexOf(c);
  if (p>-1){e.className=cn.substr(0,p)+cn.substr(p+c.length);  }
}

function SetCookie(cookieName, cookieValue, nHours) {
 var today = new Date();
 var expire = new Date();
 if (nHours==null || nHours==0) nHours=1;
 expire.setTime(today.getTime() + 3600000*nHours);
 document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString();
}

function switch_location(obj_id){
  obj=document.getElementById(obj_id);
  if (!obj) {
  	return false;
  }
  target = obj.options[obj.selectedIndex].value;
  if (target > '') {
    top.location.href=target;
  }
}



/**********************************************************************
 * Highlighting form fields on focus
 * http://wufoo.com/
 **********************************************************************/

var highlight_array = new Array();

function showFocus(input_id) {
    row_id = 'row_'+input_id;
    row=document.getElementById(row_id);
    if (!row) {
        return false;
    }
    add_class(row, "fob_focused");
}

function hideFocus(input_id) {
    row_id = 'row_'+input_id;
    row=document.getElementById(row_id);
    if (!row) {
        return false;
    }
    remove_class(row, "fob_focused");
}

function fob_initForm(){
	fob_initializeFocus();
}

// for radio and checkboxes, they have to be cleared manually, so they are added to the
// global array highlight_array so we dont have to loop through the dom every time.
function fob_initializeFocus(){
	fields = getElementsByClassName(document, "*", "fob_field");
	for(i = 0; i < fields.length; i++) {
		if(fields[i].type == 'radio' || fields[i].type == 'checkbox' || fields[i].type == 'file') {
			fields[i].onclick = function(){clearSafariRadios(); showFocus(this.id); };
			fields[i].onfocus = function(){clearSafariRadios(); showFocus(this.id); };
			highlight_array.splice(highlight_array.length,0,fields[i]);
		}
		else {
			fields[i].onfocus = function(){clearSafariRadios();showFocus(this.id);};
			fields[i].onblur = function(){hideFocus(this.id);};
		}
	}
}

function clearSafariRadios() {
	for(var i = 0; i < highlight_array.length; i++) {
	    hideFocus(highlight_array[i].id);
	}
}

// http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
function getElementsByClassName(oElm, strTagName, strClassName) {
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements);
}

/****************************** onFocus end ******************************/


function personal_open(url){
    img_width   = 450;
    img_height  = 500;
    if (img_width>screen.availWidth-150 || img_width==0) {
        win_width = screen.availWidth-150;
    } else {
        win_width = img_width+20;
    }
    if (img_height>screen.availHeight-150 || img_height==0) {
        win_height = screen.availHeight-150;
    } else {
        win_height = img_height+20;
    }
    win_top  = Math.abs((screen.availHeight - win_height)/3);
    win_left = Math.abs((screen.availWidth -win_width)/3);
    photoWindow = window.open(url, 'personal', "resizable=yes,top=" + win_top + ',left=' + win_left + ",width="+win_width+',height='+win_height+",status=0,menubar=0,toolbar=0,scrollbars=yes");
}
