//V.Dobroskok--------------------------------------------------------------------------------------------------------------------------------------------------------

//dojo.require("dojo.io.*");
//dojo.require("dojo.event.*");

function get_answer(url) {
    
    var answer_div_id="answer";
    document.getElementById(answer_div_id).innerHTML="<img src=\"/data/img/loading.gif\" style=\"margin: 70px 270px\" />";
    show_ans("ans_div");
    AjaxRequestAnswer(url,answer_div_id,null,null);
    //show_ans("ans_div");
    //create_shadow('vopr_ans_div');
    //document.getElementById('vopr_ans_div').style.top="300px;"
}


function AjaxRequestAnswer(url,outputID,pageID,historyID) {
    dojo.require("dojo.back");
    dojo.xhrGet( {
        url: url,
        handleAs: "text",
        timeout: 60000, // Time in milliseconds
        
        // The LOAD function will be called on a successful response.
        load: function(response, ioArgs) {
            dojo.byId(outputID).innerHTML=response;
            if (historyID!=null) {
                goNav(pageID,dojo.byId(historyID).innerHTML,historyID);
            }	
            if (use_init_lytebox==1) {
                initLytebox();
            }
            gradientshadow.position();
//	    dragDrop.initElement('answer_head');
            add_drag();
            return response;
        },
        
        // The ERROR function will be called in an error case.
        error: function(response, ioArgs) {
            console.error("HTTP status code: ", ioArgs.xhr.status);
            dojo.byId(outputID).innerHTML="<h2>HTTP status code: "+ioArgs.xhr.status+"</h2>";
            return response;
        }
    });
}


function show_ans(div_id) {
    var cur_div = document.getElementById(div_id);
    if (!cur_div) {return};
    document.body.appendChild(cur_div);
    cur_div.style.display="block";
    //add_drag();
}

function show_quest_form(url){
    //var form_node = document.getElementById("quest_form");
    //var message_div__node = document.getElementById("form_output");
    //form_node.reset();
    //form_node.style.display="block";
    //message_div__node.innerHTML="";
    //show_div('vopr_div');
    
    
    var vopr_div = document.getElementById('popup_div');
    if (!vopr_div) {return;};
    vopr_div.innerHTML="<div class=\"panel\"><div style=\"width: 279px; height: 18px; padding: 6px 6px 16px 6px;\"><a href=\"javascript: void(0)\"><img alt=\"\" src=\"http://new.shakhtar.com:8080/data/img/close_but.gif\" class=\"fr\" onClick=\"switch_hide(\'login_div\')\" /></a></div><img src=\"/data/img/loading.gif\" style=\"margin: 30px 110px\" /></div>";
    show_div('loginbg');
	show_div('popup_div');
    AjaxRequestHTML(url,'popup_div',null,null);
    //return false; 
}


dragDrop = {
    keyHTML: '<a href="#" class="keyLink"></a>',
    keySpeed: 10, // pixels per keypress event
    initialMouseX: undefined,
    initialMouseY: undefined,
    startX: undefined,
    startY: undefined,
    dXKeys: undefined,
    dYKeys: undefined,
    draggedObject: undefined,
    initElement: function (element) {
        if (typeof element == 'string')
            element = document.getElementById(element);
        element.onmousedown = dragDrop.startDragMouse;
        element.innerHTML += dragDrop.keyHTML;
        var links = element.getElementsByTagName('a');
        var lastLink = links[links.length-1];
        lastLink.relatedElement = element;
        lastLink.onclick = dragDrop.startDragKeys;
        drag_obj = dojo.byId("vopr_ans_div");
    },
    startDragMouse: function (e) {
        dragDrop.startDrag(this);
        var evt = e || window.event;
        dragDrop.initialMouseX = evt.clientX;
        dragDrop.initialMouseY = evt.clientY;
        addEventSimple(document,'mousemove',dragDrop.dragMouse);
        addEventSimple(document,'mouseup',dragDrop.releaseElement);
        return false;
    },
    startDragKeys: function () {
        dragDrop.startDrag(this.relatedElement);
        dragDrop.dXKeys = dragDrop.dYKeys = 0;
        addEventSimple(document,'keydown',dragDrop.dragKeys);
        addEventSimple(document,'keypress',dragDrop.switchKeyEvents);
        this.blur();
        return false;
    },
    startDrag: function (obj) {
        if (dragDrop.draggedObject)
            dragDrop.releaseElement();
        
        dragDrop.startX = drag_obj.offsetLeft;
        dragDrop.startY = drag_obj.offsetTop;
        
        //dragDrop.startX = obj.offsetLeft;
        //dragDrop.startY = obj.offsetTop;
        //startx = dojo.byId('img_container').offsetLeft;
        //dragDrop.draggedObject = obj;
        dragDrop.draggedObject = drag_obj;
        drag_obj.className += ' dragged';
    },
    dragMouse: function (e) {
        var evt = e || window.event;
        var dX = evt.clientX - dragDrop.initialMouseX;
        var dY = evt.clientY - dragDrop.initialMouseY;
        dragDrop.setPosition((dX+300),dY);
        gradientshadow.position();
        return false;
    },
    dragKeys: function(e) {
        var evt = e || window.event;
        var key = evt.keyCode;
        switch (key) {
            case 37:	// left
            case 63234:
            dragDrop.dXKeys -= dragDrop.keySpeed;
            break;
            case 38:	// up
            case 63232:
            dragDrop.dYKeys -= dragDrop.keySpeed;
            break;
            case 39:	// right
            case 63235:
            dragDrop.dXKeys += dragDrop.keySpeed;
            break;
            case 40:	// down
            case 63233:
            dragDrop.dYKeys += dragDrop.keySpeed;
            break;
            case 13: 	// enter
            case 27: 	// escape
            dragDrop.releaseElement();
            return false;
            default:
            return true;
        }
        dragDrop.setPosition(dragDrop.dXKeys,dragDrop.dYKeys);
        if (evt.preventDefault)
            evt.preventDefault();
        return false;
    },
    setPosition: function (dx,dy) {
        dragDrop.draggedObject.style.left = dragDrop.startX + dx + 'px';
        dragDrop.draggedObject.style.top = dragDrop.startY + dy + 'px';
    },
    switchKeyEvents: function () {
        // for Opera and Safari 1.3
        removeEventSimple(document,'keydown',dragDrop.dragKeys);
        removeEventSimple(document,'keypress',dragDrop.switchKeyEvents);
        addEventSimple(document,'keypress',dragDrop.dragKeys);
    },
    releaseElement: function() {
        removeEventSimple(document,'mousemove',dragDrop.dragMouse);
        removeEventSimple(document,'mouseup',dragDrop.releaseElement);
        removeEventSimple(document,'keypress',dragDrop.dragKeys);
        removeEventSimple(document,'keypress',dragDrop.switchKeyEvents);
        removeEventSimple(document,'keydown',dragDrop.dragKeys);
        dragDrop.draggedObject.className = dragDrop.draggedObject.className.replace(/dragged/,'');
        dragDrop.draggedObject = null;
    }
}

function add_drag(){
    if (dojo.byId('answer_head')) {
    dragDrop.initElement('answer_head');
}    
//var form_node = document.getElementById("quest_form");
//dojo.connect(form_node, 'onsubmit', 'onsubmit_form');
}

function addEventSimple(obj,evt,fn) {
    if (obj.addEventListener)
        obj.addEventListener(evt,fn,false);
    else if (obj.attachEvent)
        obj.attachEvent('on'+evt,fn);
}

function removeEventSimple(obj,evt,fn) {
    if (obj.removeEventListener)
        obj.removeEventListener(evt,fn,false);
    else if (obj.detachEvent)
        obj.detachEvent('on'+evt,fn);
}


function onsubmit_form(event) {
    var mydiv = dojo.byId('form_output');
    var form_node = dojo.byId("quest_form");
    var kw = {
        url: event.target.getAttribute('act'),
        handleAs: "text",
        load: function(response, ioArgs) {
            mydiv.innerHTML = response;
            return response;
        },
        error: function(responseObject, ioArgs) { 
            alert("Error");
            return responseObject; 
        },
        form:"quest_form"
    };
    
    dojo.xhrPost(kw);
    form_node.style.display="none";
    mydiv.innerHTML="<img src=\"/data/img/loading.gif\" style=\"margin: 80px 200px\" />";
}


function switch_hide(id) {
    var doc = document.getElementById(id);
    if (doc) {
        if (doc.style.display=="block") {
            doc.style.display="none";
        }else{
            doc.style.display="block";
        }
    }
}

dojo.addOnLoad(add_drag);