function openWindow(url,name){
    newWin = window.open(url,name,'status,toolbar,menubar,resizable,scrollbars,left=20,top=20,width=650,height=600')
    newWin.focus()
}


(function( $, undefined ) {
    // there are the answer choices and there are answerBins
        var $choices = $( "#choices" ),
            $answers = $( "li", $choices ).length,
            $answerBin1 = $( "#answerBin1" ),
            $answerBin2 = $( "#answerBin2" ),
            $answerBin3 = $( "#answerBin3" ),
            $answerBin4 = $( "#answerBin4" ),
            $answerBin5 = $( "#answerBin5" ),
            $answerBin6 = $( "#answerBin6" ),
            $answerBin7 = $( "#answerBin7" ),
            $answerBin8 = $( "#answerBin8" );

    // let the choices items be draggable
        $( "li", $choices ).draggable({
            revert: "invalid", // when not dropped, the item will revert back to its initial position
            helper: "clone",
            cursor: "move"
        });

    /**  NOT: let the choices be droppable as well, accepting items from the answerBins
        $choices.droppable({
            accept: ".answerBin li",
            drop: function( event, ui ) {
                recycleAnswer( ui.draggable );
            }
        });
    **/
    
    // let the answerBins be droppable, but accepting only the correct choices
        $answerBin1.droppable({
            accept: ".choices > li.answerBin1",
            drop: function( event, ui ) {
                parkAnswer( $answerBin1, ui.draggable );
            }
        });
        $answerBin2.droppable({
            accept: ".choices > li.answerBin2",
            drop: function( event, ui ) {
                parkAnswer( $answerBin2, ui.draggable );
            }
        });
        $answerBin3.droppable({
            accept: ".choices > li.answerBin3",
            drop: function( event, ui ) {
                parkAnswer( $answerBin3, ui.draggable );
            }
        });
        $answerBin4.droppable({
            accept: ".choices > li.answerBin4",
            drop: function( event, ui ) {
                parkAnswer( $answerBin4, ui.draggable );
            }
        });
        $answerBin5.droppable({
            accept: ".choices > li.answerBin5",
            drop: function( event, ui ) {
                parkAnswer( $answerBin5, ui.draggable );
            }
        });
        $answerBin6.droppable({
            accept: ".choices > li.answerBin6",
            drop: function( event, ui ) {
                parkAnswer( $answerBin6, ui.draggable );
            }
        });
        $answerBin7.droppable({
            accept: ".choices > li.answerBin7",
            drop: function( event, ui ) {
                parkAnswer( $answerBin7, ui.draggable );
            }
        });
        $answerBin8.droppable({
            accept: ".choices > li.answerBin8",
            drop: function( event, ui ) {
                parkAnswer( $answerBin8, ui.draggable );
            }
        });


    // answer parking function
        function parkAnswer( $bin, $item ) {
            var bin = $bin;
            $item.fadeOut(function() {
                var $list = $( "ul", $bin ).length ?
                    $( "ul", $bin ) :
                    $( "<ul class='choices ui-helper-reset'/>" ).appendTo( $bin );

                $item.appendTo( $list ).fadeIn(function() {
                    $item
                        .animate()
                });
            });
            
            $answers = $answers -1;
            countAnswers();
        }

        // answer recycle function
        function recycleAnswer( $item ) {
            $item.fadeOut(function() {
                $item
                    .css( "width", "auto")
                    .appendTo( $choices )
                    .fadeIn();
            });
        }

       function countAnswers()	{
    	if ($answers == 0) 
    		{
    		$("#dragdropAnswers").addClass("hidden");
    		$("#dragdropCorrect").removeClass("hidden");
    		$(".hideOnCorrect").addClass("hidden");
    		}
    	}


// FOR REVEALS ON MOUSEOVER
    function hoverShow (event) {
	var showItem = $(event.target).attr("query");
	$(showItem).toggleClass("hidden");
     }

// FOR REVEALED DIVS
    function showDiv (event) {
	event.preventDefault();
	var showdiv = $(event.target).attr("query");
	$(showdiv).toggleClass("hidden");
	var main = $(event.target).parents(".main")[0];
	if (main) {
	    $(".hideSelf",main).toggleClass("hidden");
	}
     }

// FOR ONLY ONE REVEALED DIV AT A TIME
    function showOneDiv (event) {
	event.preventDefault();

	$(".revealed").addClass("hidden");
	$(".secRevealStart").addClass("hidden");

	var showonediv = $(event.target).attr("query");
	$(showonediv).toggleClass("hidden");
	
	$(showonediv).addClass("revealed");
     }

	function position( using ) {
		$( "#positionable" ).position({
			of: $( "#parent" ),
			my: "left top",
			at: "left top",
			offset: "10 -10",

			using: using
		});
	}

	$( "#positionable" ).draggable({
		drag: function( event, ui ) {
			// reset offset before calculating it
			$( "#offset" ).val( "0" );

			position(function( result ) {
				$( "#offset" ).val( "" + ( ui.offset.left - result.left ) +
					" " + ( ui.offset.top - result.top ) );
				position();
			});
		}
	});

    function correctStar (event) {
	event.preventDefault();
	var starX = $(event.target).attr("queryX");
	var starY = $(event.target).attr("queryY");
	
	$("#revealSubmit").toggleClass("hidden");
	$("#revealSubmitDone").toggleClass("hidden");

	$( "#starPosition" ).toggleClass("hidden").css( { 
		position: 'absolute',
		zIndex: '100',
		left: (starX) + "px", 
		top: (starY) + "px"
		} );
     }
/*** END CHART GRAPH ***/

/* CHECK THIS FOR HTML FORM PROCESSING USING JQUERY */
    function selectAnswer (event) {
	$("option",$(this)).removeClass("mychoice");
	$("option:selected",$(this)).addClass("mychoice");
     }
    function radioAnswer (event) {
        var radios = $(event.target).parents(".radios")[0];
        $("input", radios).removeClass("mychoice");
	$(this).addClass("mychoice");
     }
    function checkboxAnswer (event) {
        var checks = $(event.target).parents(".checks")[0];
        $("input", checks).removeClass("mychoice");
        $("input:checked", checks).addClass("mychoice");
     }
    function formSubmit (event) {
	event.preventDefault();
	var questions = $(event.target).parents("#questions");

	    $("div.checks", questions).each(function () {
	    	var parentDiv = $(this).parents("div.checkboxes")[0];
	    	var fid = $(this).attr("id");
	    	var mcorrect = "#mcorrect-" + fid;
	    	var mwrong = "#mwrong-" + fid;
	    	var mnone = "#mnone-" + fid;
	    	
	    	var correct = $("input.answer", $(this)).size();
	    	var choices = $("input.mychoice", $(this)).size();
	    	var correctchoices = $("input.answer.mychoice", $(this)).size();
	    	
	    	if(correct == choices && correct == correctchoices)	{
			$(mcorrect).toggleClass("hidden");
		}else if (choices == 0)	{
			$(mnone).toggleClass("hidden");
		}else	{
			$(mwrong).toggleClass("hidden");
		}
		$("label.answer",$(this)).addClass("correctanswer");
		$(".explanation",parentDiv).toggleClass("hidden");

	    });

	    $("div.radios", questions).each(function () {
	    	var fid = $(this).attr("id");
	    	var mcorrect = "#mcorrect-" + fid;
	    	var mwrong = "#mwrong-" + fid;
	    	var mnone = "#mnone-" + fid;
	    	
	    	var mychoice = $("input.mychoice",$(this)).attr("value")
	    	var explanation = "#explanation-" + mychoice;

		if($("input.mychoice",$(this)).attr("value") == $("input.answer",$(this)).attr("value"))	{
			$(mcorrect).toggleClass("hidden");
		}else if ($("input.mychoice",$(this)).attr("value"))	{
			$(mwrong).toggleClass("hidden");
		}else	{
			$(mnone).toggleClass("hidden");
		}
		$("label.answer",$(this)).addClass("correctanswer");
		// $(".explanation",$(this)).toggleClass("hidden");

		$(explanation,$(this)).toggleClass("hidden");
		if ($(explanation).size() == 0)	{
			$(".explanation",$(this)).toggleClass("hidden");
		}

	    });

	    $(".selections", questions).each(function () {
	    	var fid = $(this).attr("id");
	    	var mcorrect = "#mcorrect-" + fid;
	    	var mwrong = "#mwrong-" + fid;
	    	var mnone = "#mnone-" + fid;
	    	
	    	var mychoice = $("option.mychoice",$(this)).attr("value")
	    	var explanation = "#explanation-" + mychoice;

		if($("option.mychoice",$(this)).attr("value") == 
		   $("option.answer",$(this)).attr("value"))	{
			$(mcorrect).toggleClass("hidden");
		}else if	($("option.mychoice",$(this)).attr("value"))	{
			$(mwrong).toggleClass("hidden");
		}else	{
			$(mnone).toggleClass("hidden");
		}
		$("option.answer",$(this)).toggleClass("correctanswer");
		// $(".explanation",$(this)).toggleClass("hidden");

		$(explanation,$(this)).toggleClass("hidden");
		if ($(explanation).size() == 0)	{
			$(".explanation",$(this)).toggleClass("hidden");
		}

	    });

	$(this).toggleClass("hidden");
	$("#sec-confirm").toggleClass("hidden");
	$("#sec-intro").toggleClass("hidden");
     }

// FOR MULTIPAGE FORMS
    function nextQuestions (event) {
	event.preventDefault();

	$(".revealed").addClass("hidden");
	$(".secRevealStart").addClass("hidden");

	var nextSec = $(event.target).attr("query");
	$(nextSec).toggleClass("hidden");
	
	$(nextSec).addClass("revealed");
	$(window).scrollTop(100);
     }

    function reqQuestions (event) {
	var questions = $(event.target).parents("#questions");
	var doSubmit = true;
	$("div.reqThis", questions).removeClass("noanswer");

       $("div.reqThis", questions).each(function () {
		var reqType = $(this).attr("class");
		var reqVal = $("input",$(this)).attr("value");
		var reqOpt = $("option.mychoice",$(this)).attr("value");

		if(reqVal == "" && reqType == 'question-block textquestion reqThis ')	
		{
		   $(this).addClass("noanswer");
		   doSubmit = false;
		}
		else if(reqOpt == null && reqType == 'question-block selections reqThis ')	
		{
		   $(this).addClass("noanswer");
		   doSubmit = false;
		}
	});
	
	if (doSubmit == false)	
	{
	   event.preventDefault();
	   $(window).scrollTop(100);
	}
     }


/* THIS IS TO POPULATE SYSTEM DATE HIDDEN INPUT */
	var now = new Date();
	var day = now.getDate();
	var year = now.getFullYear();
	var month = now.getMonth() + 1;
	var fulldate = year + "-" + month + "-" + day;
	$("#getsysdate").val(fulldate);

    $(".figureareatext").toggleClass("hidden");
    $(".hoverShow").hover(hoverShow, hoverShow);     
    $(".showDiv").click(showDiv);     
    $(".showOneDiv").click(showOneDiv);     
    $("#correctStar").click(correctStar);     

/* HTML FORM PROCESSING USING JQUERY */
    $("input",".checkboxes").click(checkboxAnswer);
    $("input",".radios").click(radioAnswer);
    $(".selections").change(selectAnswer);
    $("input.submit-button-jquery").click(formSubmit);     

    $(".nextQuestions").click(nextQuestions);     
    $(".reqQuestions").click(reqQuestions);     

    $(".hide-ifNoJs").removeClass("hidden");
    $(".show-ifNoJs").addClass("hidden");
  	
})( jQuery );

