var optIsOpen = false;
var optIsClosable = true;
var selectColIsOpen = false;
var selectResIsOpen = false;
var selectColIsClosable = true;
var selectResIsClosable = true;
var animDuration = 100;

function clickAnywhere()
{

    if(optIsClosable)
	$("div#optmnu:visible").slideToggle(animDuration);
    
    if(selectColIsOpen && selectColIsClosable)
	{
	    closeSelectCol();
	    $("td#select_col").css("background-position", "0px 0px");		
	}
    
    if(selectResIsOpen && selectResIsClosable)
	{
	    closeSelectRes();
	    $("td#select_res").css("background-position", "0px 0px");		
	}
}

function initOptions()
{
    for(var i = 0; i < 3; i++)
	$("#nvalue" + i).attr("selected", false);
    $("#nvalue" + arg_n).attr("selected", true);
    $("#avalue").attr("checked", (arg_a ? true : false));
    $("#dvalue").attr("checked", (arg_d ? true : false));
}

function initWidgets()
{
    /*
    ** SEARCH ENGINE
    */

    $("#findform").submit(find);

    /* 
    ** OPTIONS
    */  
    initOptions();
    $("a#opt").mouseover(function(){$(this).css("background-color", "#E98809");optIsClosable=false;});
    $("a#opt").mouseout(function(){$(this).css("background-color", "#808080");optIsClosable=true;});
    $("div#optmnu").mouseover(function(){optIsClosable=false;});
    $("div#optmnu").mouseout(function(){optIsClosable=true;});

    $("a#opt").click(optClick);
      
    function optClick()
    {
	$("div#optmnu").slideToggle(animDuration);
    }

    /* 
    ** WIDGETS
    */
    detectResolution();
    fillColValues();
    fillResValues();
    $("input:text:first:visible").focus();
    $("body").mousedown(clickAnywhere);
    $("td#button_fnd").disableTextSelect();
    $("td#select_col").disableTextSelect();
    $("td#select_res").disableTextSelect();
    $("div.select").disableTextSelect();	
    $("td#button_fnd").mouseover(buttonMouseOver);
    $("td#button_fnd").mouseout(buttonMouseOut);
    $("td#button_fnd").mousedown(buttonMouseDown);
    $("td#button_fnd").mouseup(buttonMouseUp);		
    $("div.select div").mouseover(function(){$(this).css("background", "#8080FF");});
    $("div.select div").mouseover(function(){$(this).css("color", "#FFFFFF");});
    $("div.select div").mouseout(function(){$(this).css("background", "#FFFFFF");});
    $("div.select div").mouseout(function(){$(this).css("color", "#606060");});	
    $("td#select_col").mouseover(selectColMouseOver);
    $("td#select_col").mouseout(selectColMouseOut);
    $("td#select_col").mousedown(selectColMouseUp);
    $("td#select_col_lst div.select").mouseover(function(){selectColIsClosable = false;});
    $("td#select_col_lst div.select").mouseout(function(){selectColIsClosable = true;});
    $("td#select_col_lst div.select div").mouseup(function(){selectColValue($(this).html());});
    $("td#select_res").mouseover(selectResMouseOver);
    $("td#select_res").mouseout(selectResMouseOut);
    $("td#select_res").mousedown(selectResMouseUp);
    $("td#select_res_lst div.select").mouseover(function(){selectResIsClosable = false;});
    $("td#select_res_lst div.select").mouseout(function(){selectResIsClosable = true;});
    $("td#select_res_lst div.select div").mouseup(function(){selectResValue($(this).html());});
}

function buttonMouseOver(){$("td#button_fnd").css("background-position", "-160px -24px");}
function buttonMouseOut(){$("td#button_fnd").css("background-position", "-160px 0px");}
function buttonMouseDown(){$("td#button_fnd").css("background-position", "-160px -48px");}
function buttonMouseUp(){$("td#button_fnd").css("background-position", "-160px -24px");$("#findform").submit();}

function detectResolution()
{
    var myResol = screen.width + ' x ' + screen.height;
    for(var i = 0; resValue[i]; i++)
	if(resValue[i] == myResol)
	    resValue[i] = '<u>' + resValue[i] + '</u>';
}

/* 
** SELECT COLOR
*/
function fillColValues()
{
    $("td#select_col").html(colValue[arg_c]);
    for(var i = 0; colValue[i]; i++)
	$("td#select_col_lst div.select").append('<div>'+colValue[i]+'</div>');
    
}
function selectColValue(value)
{
    closeSelectCol();
    $("td#select_col").css("background-position", "0px 0px");
    $("td#select_col").html(value);
}
function selectColMouseOver()
{
    if(!selectColIsOpen)
	{
	    selectColIsClosable = false;
	    $("td#select_col").css("background-position", "0px -24px");
	}
}
function selectColMouseOut()
{
    selectColIsClosable = true;
    if(!selectColIsOpen)
	{
	    $("td#select_col").css("background-position", "0px 0px");
	}
}
function openSelectCol()
{
    if(selectColIsOpen) return;
    selectColIsOpen = true;
    $("td#select_col").css("background-position", "0px -48px");
    $("td#select_col_lst div.select").slideToggle(animDuration);
}
function closeSelectCol()
{
    if(!selectColIsOpen) return;
    selectColIsOpen = false;
    selectColIsClosable = false;
    $("td#select_col").css("background-position", "0px -24px");
    $("td#select_col_lst div.select").slideToggle(animDuration);
}
function selectColMouseUp()
{
    if(selectColIsOpen) closeSelectCol(); else openSelectCol();
}
/* 
** SELECT RESOLUTION
*/
function fillResValues()
{
    $("td#select_res").html(resValue[arg_r]);
    for(var i = 0; resValue[i]; i++)
	$("td#select_res_lst div.select").append('<div>'+resValue[i]+'</div>');
    
}
function selectResValue(value)
{
    closeSelectRes();
    $("td#select_res").css("background-position", "0px 0px");
    $("td#select_res").html(value);
}
function selectResMouseOver()
{
    if(!selectResIsOpen)
	{
	    selectResIsClosable = false;
	    $("td#select_res").css("background-position", "0px -24px");
	}
}
function selectResMouseOut()
{
    selectResIsClosable = true;
    if(!selectResIsOpen)
	{
	    $("td#select_res").css("background-position", "0px 0px");
	}
}
function openSelectRes()
{
    if(selectResIsOpen) return;
    selectResIsOpen = true;
    $("td#select_res").css("background-position", "0px -48px");
    $("td#select_res_lst div.select").slideToggle(animDuration);
}
function closeSelectRes()
{
    if(!selectResIsOpen) return;
    selectResIsOpen = false;
    selectResIsClosable = false;
    $("td#select_res").css("background-position", "0px -24px");
    $("td#select_res_lst div.select").slideToggle(animDuration);
}
function selectResMouseUp()
{
    if(selectResIsOpen) closeSelectRes(); else openSelectRes();
}
