// --------------- FLAG: THIS IS THE COLLAPSIBLE MENU AND CLASS CHANGE FUNCTION

function showHide(current_element){
     var target_element = current_element.parentNode.nextSibling.nextSibling;
     // Code fork for IE
    if(document.all) {
        target_element = current_element.parentNode.nextSibling;
    }
    //
        //debug section--
        /* alert(target_element.nodeName);
        alert(current_element.nodeName);*/
    //
    //collapse stuff
     if(target_element.style.display == "block"){
        target_element.style.display = "none";
     }
     else{
        target_element.style.display = "block";
     }
}

function justHide(current_element){
     var target_element = current_element.parentNode.nextSibling.nextSibling;
     // Code fork for IE
    if(document.all) {
        target_element = current_element.parentNode.nextSibling;
    }
    //
        //debug section--
        /* alert(target_element.nodeName);
        alert(current_element.nodeName);*/
    //
    //collapse stuff
     if(target_element.style.display == "block"){
        target_element.style.display = "none";
     }
}

function changeClass(current_element,target_class,new_class){
    var final_class = "";//initialize variable make sure its empty
    var target_element = current_element.parentNode;
    //alert(target_element.className);
    var classes = target_element.className;
    classes = classes.split(" ");
    var length = classes.length;
    //check to see if the if the target class is in the elements class attribute
    //if it isn't then check to see if the new class has already been put into the elements class attribute
    for(i=0;i<length;++i){

        if(classes[i] == target_class){
            classes[i] = new_class;
        }
        else if(classes[i] == new_class){
            classes[i] = target_class;
        }

    }

    for(i=0;i<length;++i){
        if(i!= length-1){
            final_class += classes[i]+" ";
        }
        else{
            final_class += classes[i];
        }
    }

    //alert(final_class);
    target_element.className = final_class;
}


// --------------- FLAG: THIS OPEN/CLOSE function
//----------------gets value of a radio button. Used in Booking engine: guest info page.
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}
//----------------show/hide function for yes/no form element. Used in Booking engine: payment & guest info page.
function evalYesNoRadio(target){
	var checked = getCheckedValue(document.forms['guest_info'].elements['on_cruise'])
	//alert('you have checked: ' + checked);

	if (checked == 'yes'){
		//alert('YESSSSS!!!!');
		showHide(target);
		changeClass(target,'open2','close2');
	} else {
		justHide(target);
		changeClass(target,'open2','close2');
	}

}

function showHideElement() {
	for (var i = 0; i < params.length; i++)
	{
		var elmt = document.getElementById(params[i]);
		showHide(elmt);
		changeClass(elmt,'open','close');
		elmt.className = elmt.className == 'arrow_down' ? 'arrow_right' : 'arrow_down';
	}
}
