var func_folder = "functions/";

var div_loading_open, loading_milisec;
var browser = navigator.appName;

var shopping_line_center_width = 1200;


var div_picture_upload = "picture_upload_list";
var div_picture_form = "picture_form_container";
var sel_picture_cnt = "picture_cnt_sel";
var form_picture_upload = "picture_upload_form";


var confirm_box_id = "confirm_box";
var confirm_box_content_id = "confim_box_content";
var content_left_id = "content_left";
var content_center_id = "content_center";




if(browser == "Microsoft Internet Explorer")
     loading_milisec = 20;
else
     loading_milisec = 100;


$(document).ready(function()
{
    manageWindow();
    $(window).wresize(manageWindow);

    orderForm();
    itemInfoExec();
    shoppingLine();
    keysExec();

    var textarea = document.getElementById("pub_area_small");
    var textarea_big = document.getElementById("pub_area");
    if(textarea)
        createEditor(1);
    else if(textarea_big)
        createEditor();

});
function keysExec()
{
    $("#username_input").keyup(function(e){
               var c = document.layers ? e.which
            : document.all ? e.keyCode
            : e.keyCode;
    if(c==13)
        submitForm('user_login_form');
    });
    $("#password_input").keyup(function(e){
               var c = document.layers ? e.which
            : document.all ? e.keyCode
            : e.keyCode;
    if(c==13)
        submitForm('user_login_form');
    });

    var def_search_value = $("#search_input").val();

    $("#search_input").focus(function(){
         $("#search_input").val("");
    });
    $("#search_input").blur(function(){
        if(!$("#search_input").val())
            $("#search_input").val(def_search_value);

    });
    $("#search_button").click(function(){
        submitForm("search_button_form");
    });
}
function shoppingLine()
{
    var single_text = $("#shopping_line_mask_single").html();
    var double_text = $("#shopping_line_mask_double").html();
    var default_text = $("#shopping_line_mask_content").html();
    var single = $("#single_wefted");
    var double = $("#double_wefted");
    var content = $("#shopping_line_mask_content");


    single.mouseover(function () {
        single.css('border', '2px solid #cccccc');
        content.html(single_text);
    });
    single.mouseout(function () {
        single.css('border', '2px solid black');
        content.html(default_text);

    });
    double.mouseover(function () {
        double.css('border', '2px solid #cccccc');
        content.html(double_text);
    });
    double.mouseout(function () {
        double.css('border', '2px solid black');
        content.html(default_text);

    });
}

function orderForm()
{
    var state = 1, name, city, address, postal_code, phone;
    var name_input = $("input[name=name]");
    var city_select = $("select[name=city]");
    var postal_input = $("input[name=postal_code]");
    var address_input = $("textarea[name=address]");
    var phone_input = $("input[name=phone]");

    name = name_input.val();
    city = city_select.val();
    address = address_input.val();
    postal_code = postal_input.val();
    phone = phone_input.val();

    var order_input_type = $("input[name=order_input_type]");


    order_input_type.bind('click', function(){
            if(state == 1)
            {
                name_input.val("");
                city_select.val("");
                address_input.val("");
                phone_input.val("");
                postal_input.val("");
                state = 0;
            }
            else
            {
                name_input.val(name);
                city_select.val(city);
                address_input.val(address);
                phone_input.val(phone);
                postal_input.val(postal_code);
                state=1;
            }

    });

}
function itemInfoExec()
{
    var pub_editor_mini_toggle = $("a[name=pub_editor_mini_toggle]");
    var text_container = $('#text_container') ;
    var default_height =  text_container.height()+100;


    pub_editor_mini_toggle.toggle(function(){
            var height = default_height+100;
            text_container.css('height', height+"px");
            $("#pub_editor_mini").animate({ height:'show', opacity:'show'}, "fast");
        },function(){
            text_container.css('height', default_height+"px");
            $("#pub_editor_mini").animate({ height:'hide', opacity:'hide'}, "fast");
        });

    var review_object = $('.reviews');
    var description_object = $('.description');

    var review_toggle = $("a[name=reviews_toggle]");

    review_toggle.click(function(){
        review_object.css('display', 'block');
        description_object.css('display', 'none');
    });
    var desc_toggle = $("a[name=description_toggle]");

    desc_toggle.click(function(){
        review_object.css('display', 'none');
        description_object.css('display', 'block');
    });


}
function manageWindow()
{
    var window_width = $(window).width();
    var width = ((window_width - shopping_line_center_width)/2)+1;
    if(width<0)
        width = 0;

    $(".shopping_line_left").css('width', width+"px");
    $(".shopping_line_right").css('width', width+"px");

    if(window_width>shopping_line_center_width)
    {
        $("#banner_top").css('width', window_width+"px");
        $("#shopping_line").css('width', window_width+"px");
        $("#footer").css('width', window_width+"px");

    }
    else
    {

        $("#banner_top").css('width', "1200px");
        $("#shopping_line").css('width', "1200px");
        $("#footer").css('width', "1200px");
        $(window).scrollTo(100, 0);
    }
    var context_menu_h = $("#context_menu").height();
    var content_inner_h = $("#content_inner").height();

    if(context_menu_h > content_inner_h)
    {
        $("#content_inner").css('height', context_menu_h-20+"px")

    }
    else
    {
        $("#context_menu").css('height', content_inner_h+20+"px")
    }
}

function slideshowExec(object)
{
    var currentPosition = 0;
    var slideWidth = object.offsetWidth;
    var slides = $('.slide');
    var numberOfSlides = slides.length;

    $('#slidesContainer').css('overflow', 'hidden');

    slides.wrapAll('<div id="slideInner"></div>').css({ 'float' : 'left', 'width' : slideWidth });


    $('#slideInner').css('width', slideWidth * numberOfSlides);

    manageControls(currentPosition);

  // Create event listeners for .controls clicks
  $('.slideshow_control')
    .bind('click', function()
    {
      currentPosition = ($(this).attr('id')=='nextControl')
    ? currentPosition+1 : currentPosition-1;

      manageControls(currentPosition);

      $('#slideInner').animate({
        'marginLeft' : slideWidth*(-currentPosition)
      });
    });
  $('.num_control')
    .bind('click', function()
    {
        currentPosition = ($(this).attr("name"));
        manageControls(currentPosition);
        $('#slideInner').animate({
            'marginLeft' : slideWidth*(-currentPosition)
        });
    });


  function manageControls(position)
  {
    if(position==0){ $('#prevControl').hide(); }
    else { $('#prevControl').show(); }
    if(position==numberOfSlides-1) { $('#nextControl').hide(); }
    else { $('#nextControl').show() }
  }

}


function changeElementView(element)
{
    var object = document.getElementById(element);
    if(object.style.display=='none')
    {
        object.style.display='block';
    }
    else
    {
        object.style.display='none';
    }
}
function formToHttpRequest(url, form, id, div_id, readyfunc)
{
    makeRequest(url, formDataToArray(form), id, div_id, readyfunc);
}
function formDataToArray(form)
{
    var parameters = new Array();
    var form_object = document.getElementById(form);
    var i = 0;
    while(form_object.elements[i])
    {
        var value = form_object.elements[i].value;
        if(form_object.elements[i].type=="checkbox")
        {
            if(form_object.elements[i].checked)
                value=1;
            else
                value=0;
        }

        parameters[i] = {name:form_object.elements[i].name, value:value};
        i++;
    }
    return parameters;
}
function open_loading(div_id)
{
    var div_object = document.getElementById(div_id);
    div_loading_open = div_id;
    opacity(div_id, 100, 20, loading_milisec);
    var loading_object = div_object.parentNode.children[0];
    loading_object.style.marginLeft = 0.3 * div_object.offsetWidth + "px";
    loading_object.style.marginTop = 0.3 * div_object.offsetHeight + "px";
    loading_object.style.display = "block";

}
function close_loading(text)
{
    var div_object = document.getElementById(div_loading_open);
    opacity(div_loading_open, 20, 100, loading_milisec);
    var loading_object = div_object.parentNode.children[0];
    loading_object.style.marginLeft = 0 + "px";
    loading_object.style.marginTop = 0 + "px";
    loading_object.style.display = "none";
    div_loading_open = "";
}
function showLoading(div_id)
{
    var div_object = document.getElementById(div_id);
    div_object.innerHTML = "<div class=\"loading\"><img src=\"art/loading4.gif\" width=\"50\" height=\"50\" /><br />Моля изчакайте...</div>";
}
function hideElement(div_id)
{
    document.getElementById(div_id).style.display = "none";
}
function showElement(div_id)
{
    document.getElementById(div_id).style.display = "block";
}

function close_fullscreen()
{
    hideElement('fullscreen_images');
    document.getElementById('fullscreen_content').innerHTML = "";
    if(browser == "Microsoft Internet Explorer")
        var speed = 200;
    else
        var speed = 500;
    opacity('fullscreen_overlay', 90, 0, speed);
    window.setTimeout("hideElement('fullscreen_container')", speed);

}


function submitForm(form_id)
{
    document.getElementById(form_id).submit();
}


function updatePictureForm()
{
    var select = document.getElementById(sel_picture_cnt);
    var div_object = document.getElementById(div_picture_upload);

    div_object.innerHTML = "";
    for(var i = 0; i < select.value; i++)
    {
        div_object.innerHTML += "Избери изображение <input name='upimg" + i + "' type='file' /><br />";
    }
}

function resetField(id)
{
    var def_value = "Търси";
    var field = document.getElementById(id);

    if(field.value == def_value)
        field.value = "";
}




function alertResponse(text)
{
    alert(text);
}
function confirmResponse(text)
{
    var confirm_box = document.getElementById(confirm_box_id);
    var confirm_box_middle = confirm_box.children[1];
    var confirm_box_content = confirm_box_middle.children[0];
    var confirm_box_buttons = confirm_box_middle.children[1];
    confirm_box_content.innerHTML = text;
    confirm_box_buttons.innerHTML ="<button onclick='closeConfirmBox()'>Затвори</button>";
}
function openConfirmBox(title, button1, middle_height, text)
{
    var confirm_box = document.getElementById(confirm_box_id);
    var confirm_box_top = confirm_box.children[0];
    confirm_box_top.innerHTML = "<div class='text'>" + title + "</div>";

    var confirm_box_middle = confirm_box.children[1];
    var confirm_box_buttons = confirm_box_middle.children[1];
    var confirm_box_content = confirm_box_middle.children[0];
    confirm_box_middle.style.height = middle_height + "px";
    confirm_box_content.style.height = middle_height - 45 + "px";
    if(text)
        confirm_box_content.innerHTML = text;

    confirm_box_buttons.innerHTML = button1 + " <button onclick='closeConfirmBox()'>Затвори</button>";

    $("#" + confirm_box_id).fadeIn(500);
}
function closeConfirmBox()
{
    $("#" + confirm_box_id).fadeOut(500, function(){

    var confirm_box = document.getElementById(confirm_box_id);
    confirm_box.style.display="none";
    var confirm_box_top = confirm_box.children[0];
    confirm_box_top.innerHTML = "";

    var confirm_box_middle = confirm_box.children[1];
    var confirm_box_buttons = confirm_box_middle.children[1];
    var confirm_box_content = confirm_box_middle.children[0];
    confirm_box_middle.style.height = "0px";
    confirm_box_content.style.height = "0px";
    confirm_box_content.innerHTML = "";
    confirm_box_buttons.innerHTML = "";

    });
}
function changeOpac(opacity, id)
{
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}

function opacity(id, opacStart, opacEnd, millisec)
{
    var speed = Math.round(millisec / 100);
    var timer = 0;

    if(opacStart > opacEnd)
    {
        for(i = opacStart; i >= opacEnd; i--)
        {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
    else if(opacStart < opacEnd)
    {
        for(i = opacStart; i <= opacEnd; i++)
        {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

