var image = new Image();
image.src = "/pimg/Site/no_control_icon.jpg"

jQuery(document).ready(function(){
    jQuery('input#project_visibility_controll_submit').css('display', 'none');

    jQuery('ul#category_tabs li a').bind('click', categoryTabAction);
    jQuery('div#projects_visibility_control input[name^=projects]').bind('click', chechboxAction);
    jQuery('li.Project a[id^=close_project]').bind('click', closeButtonAction);
    jQuery('li.Project a[id^=edit_project]').bind('click', editButtonAction);
    jQuery("ul.column").sortable({
        items: jQuery('li.Project'),
        placeholder: 'ui-state-highlight',
        cursorAt: { left: 160 },
        handle: 'div.title',
        helper: function(event, element) { 
            var id = element.attr('id').replace('project_', '');
            var imgName = jQuery('ul#category_tabs div#project_info_'+id+' span.item_icon').html();
            if(imgName == '')
                imgName = 'no_control_icon.jpg';
            image.src = '/pimg/Site/icon/'+imgName;
            return jQuery('<div style="text-align:center; margin:12px 6px 6px 6px"><img src="/pimg/Site/icon/'+imgName+'" alt="" style="width:46px; height:45px; border:1px solid #DADADA" /></div>');
        },
        revert: true,
        beforeStop: function(event, ui) { // ???
        },
        stop: blockDragEnd
    });
    /*// buvo bandytas kažkoks draginimas, bet dėl kažkokių priežasčių jis neveikė gerai ir buvo jo atsisakyta 2009-09-04
    jQuery("div#visible_options img").draggable({
        connectToSortable: 'ul.column',
        helper: 'clone',
		revert: 'invalid',
        stop: function(event, ui) {
            id = jQuery(ui.helper).attr('id').replace('project_icon_', '');
            var block = jQuery('ul.column li#project_'+id);
            alert(block.html());
            alert(jQuery('div#projects img#project_icon_'+id).attr('id'));
        }
    });
    */
    
    jQuery("#column_1, #column_2, #column_3").disableSelection();
});



function blockDragEnd(event, ui) {
    var dragedLi = jQuery(ui.item);
    var id     = dragedLi.attr('id').replace('project_', '');
    var column = dragedLi.parent().attr('id').replace('column_', '');
    var row    = dragedLi.parent().find('li.Project').index(dragedLi);
    
    var xml = jQuery.ajax({url: '/ProjectBlock/setProjectPosition/?project='+id+'&xAxis='+column+'&yAxis='+row+"&rand="+parseInt(Math.random() * 10000), async: false})
    
    // ???
    while(xml.readyState != 4) {
		
    }
}


function categoryTabAction() {
        jQuery('ul#category_tabs li').removeClass('focus');
        jQuery(this).parent().addClass('focus');
        var items = jQuery(this).parent().find('div div.category_items_item');
        var i = 0;
        var size = items.size();
        jQuery('div#visible_options').html('');
        for(i = 0; i<size; i++) {
            var temp = items.eq(i);
            var tempDiv = document.createElement('div');

            var tempInput = document.createElement('input');
            var tempId = jQuery(temp).find('span.item_id').html();
            tempInput.setAttribute('type', 'checkbox');
            tempInput.setAttribute('id', 'pb_' + tempId);
            tempInput.setAttribute('name', 'projects[]');
            tempInput.setAttribute('value', tempId);
            tempInput.onclick = chechboxAction;

            var tempLabel = document.createElement('label');
            tempLabel.setAttribute('for', tempInput.id);
            tempLabel.innerHTML = jQuery(temp).find('span.item_title').html();

            var tempImage = document.createElement('img');
            var imageSrc = jQuery(temp).find('span.item_icon').html()
            tempImage.alt = tempLabel.innerHTML;
            if(imageSrc == '')
                tempImage.src = "/pimg/Site/icon/no_control_icon.jpg";
            else {
                image.src = "/pimg/Site/icon/"+imageSrc;
                tempImage.src = image.src;
            }


            tempDiv.appendChild(tempInput);
            tempDiv.appendChild(tempImage);
            tempDiv.appendChild(tempLabel);
            document.getElementById('visible_options').appendChild(tempDiv);
            if(jQuery('li#project_'+tempId).css('display') != 'none') {
                tempInput.setAttribute('checked', 'checked');
            }
        }
        var clearDiv = document.createElement('div');
        clearDiv.setAttribute('class', 'clear');
        document.getElementById('visible_options').appendChild(clearDiv);
        return false;
}

function chechboxAction() {
    var projectId = jQuery(this).attr('value');
    var selector = "li#project_"+projectId;
    var condition = $(this).is(':checked');
    toggleBlockBox(projectId, selector, condition);
}

function closeButtonAction() {
    var projectId = jQuery(this).attr('id').replace('close_project_', '');
    toggleBlockBox(projectId, 'li#project_'+projectId, false);
    jQuery('input#pb_'+projectId).attr('checked', '');

    return false;
}

function toggleBlockBox(projectId, selector, condition) {
    if(condition) {
        jQuery(selector).slideDown();
    }
    else {
        jQuery(selector).slideUp();
    }
    jQuery.get('/ProjectBlock/toggleProjectVisibility?project='+projectId+'&ajax=1');
}

function editButtonAction() {
    var project_id = jQuery(this).attr('id').replace('edit_project_', '');
    jQuery.facebox('<p style="text-align:center; padding:5px"><img src="/pimg/Site/facebox/loading.gif" /></p>');
    fillConfigurationForm('/ProjectBlock/configureProject/'+project_id, {'project_id': project_id});

    return false;
}

function resetButtonAction() {
    return false;
}

function colorBoxAction() {
    jQuery('span.color_box_sample_focus').attr('class', 'color_box_sample');
    jQuery(this).attr('class', 'color_box_sample_focus');
    var input = jQuery(this).parent().find('input');
    input.attr('checked', 'checked');
    jQuery('div#configuration_form div.title').css('background-color', '#'+input.attr('value'));
}

function addValueAction() {
    var select = jQuery(this).parent().find('select');
    var value = select.find('option:selected');
    var valueStr = value.attr('value');
    var block = select.parent().parent();
    var container = jQuery('#facebox div#form_changes');

    if(valueStr == '' || valueStr == 0)
        return false;

    if(jQuery(this).parent().find('div.fieldValue[rel='+select.attr('rel')+'.'+valueStr+']').attr('class') == 'fieldValue')
        return false;

    var newDiv = jQuery('<div class="fieldValue">\n\
<span class="title"></span>\n\
<a href="#"><span class="control_button" rel="removeValue">-</span></a>\n\
<div class="clear"></div>\n\
</div>');

    var inputId = block.attr('id')+'_'+select.attr('rel')+'_'+valueStr;
    var input = container.find('input#'+inputId+'_remove');
    
    if(input.attr('value') == valueStr)
        input.remove();
    else 
        container.append('<input type="hidden" name="update['+block.attr('id')+'][add]['+select.attr('rel')+'][]" value="'+valueStr+'" id="'+inputId+'_add" />');


    jQuery(newDiv).find('span.control_button').bind('click', removeValueAction);
    jQuery(newDiv).find('span.title').html(value.text());
    jQuery(newDiv).attr('rel', select.attr('rel')+'.'+valueStr);
    jQuery(this).parent().append(newDiv);
    
    return false;
}

function removeValueAction() {
    var select = jQuery(this).parent().parent().parent().find('select');
    var valueStr = jQuery(this).parent().parent().attr('rel').replace(select.attr('rel')+'.', '');
    var block = select.parent().parent();
    var container = jQuery('#facebox div#form_changes');

    var inputId = block.attr('id')+'_'+select.attr('rel')+'_'+valueStr;
    var input = container.find('input#'+inputId+'_add');

    if(input.attr('value') == valueStr)
        input.remove();
    else
        container.append('<input type="hidden" name="update['+block.attr('id')+'][remove]['+select.attr('rel')+'][]" value="'+valueStr+'" id="'+inputId+'_remove" />');


    jQuery(this).parent().parent().remove();

    return false;
}

function fillConfigurationForm(url, data) {
    var req = jQuery.post(url, data);
    req.onreadystatechange = function() {
        if(req.readyState == 4 && req.status == 200) {
            jQuery('div#facebox div.content').html(req.responseText);
            jQuery('div#facebox span.color_box input').hide();
            jQuery('div#facebox span.color_box span').bind('click', colorBoxAction);
            jQuery('div#facebox select.addable').css('width', '122px').attr('name', 'update[none]').before('<span class="control_button" rel="addValue">+</span>');
            jQuery('span.control_button[rel=addValue]').bind('click', addValueAction);
            jQuery('span.control_button[rel=removeValue]').bind('click', removeValueAction);
        }
    }
}

function setHomePage()
{
	if(document.all)
	{
		document.body.style.behavior = 'url(#default#homepage)';
		document.body.setHomePage('http://www.epasas.lt');
	}
    else if(window.sidebar)
	{
		if(window.netscape)
		{
			try
			{
				netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
			}
			catch(e)
			{
				alert("Deja, Jūsų naršyklėje uždraustas pirmojo puslapio nustatymas!");
			}
		}
		var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
		prefs.setCharPref('browser.startup.homepage', 'http://www.epasas.lt');
	}
    else
    {
    	alert("Deja, Jūsų naršyklėje neįmanomas pirmojo puslapio nustatymas!");
    }
}

function onlyInteger(e)
{
    var code;
    if(e)
    {
        code = e.which;
        if((code < 48 || code > 57) && code != 13 && code != 8 && code != 0 && !e.ctrlKey) e.preventDefault();
        else return true;
    }
    else
    {
        code = event.keyCode;
        if((code < 48 || code > 57 || code == 32) && code != 13) event.returnValue = false;
        else return true;
    }
}

