var stop=0;
var got=0;
var wish=0;
var feedback_dir='feedback/';
var params = {
        method: 'post',
        onComplete:function(val) {
                if(val.length==0){

                }
                else{
                        var n = eval("("+val+")");
                }


                //$('trace').innerHTML = val;

                //show message if not OK
                if (n.e!='OK') {
                        $('indicator').style.display='none';
                        alert(n.e);
                        return false;
                }

                //insert new note
                if (n.id){
                        var el = document.createElement('div');
                        el.id=n.id;
                        el.className='note';
                        el.innerHTML=n.t;
                        //el.style.width=n.w;
                        //el.style.height=n.h;
                        el.style.zIndex=n.z;
                        el.style.backgroundColor=n.c;
                        el.style.visibility='hidden';
                        //el.makeDraggable(draggableOptions);

                        //update note position
                        new Drag_small.init(el);
                        el.onDragEnd = function(x,y){
                                params.postBody="id="+this.id+"&x="+getPosition(this).left
                                +"&y="+getPosition(this).top+"&zindex="+this.style.zIndex;
                                new Ajax(feedback_dir+'usr/extensions/save.php?a=update', params ).request();
                                params.postBody="";
                        };

                        el.onDragStart=function(x,y) {this.style.zIndex=getMaxZ();} ;

                        document.getElementById("middle_left").appendChild(el);

                        el.style.width=el.offsetWidth;
                        //el.style.height=el.offsetHeight;
                        if(el.offsetWidth>233) el.style.width=233 + 'px';
                        if(el.offsetHeight>144) el.style.height=144 + 'px';
                        if(el.offsetWidth<54) el.style.width=54 + 'px';
                        if(el.offsetHeight<33) el.style.height=33 + 'px';

                        el.style.top=n.y + 'px';
                        el.style.left=n.x + 'px';
                        el.style.visibility='visible';

                        got++;
                }

                if ((n.g=='1') && (stop!=1)){
                        //get next note
                        n.id=n.id-1;
                        if(n.id>0){
                                params.postBody="id="+n.id;
                                new Ajax(feedback_dir+'usr/extensions/save.php?a=get', params ).request();
                                params.postBody="";
                        } else {
                                $('indicator').style.display='none';
                        }
                } else {
                        $('indicator').style.display='none';
                }

                $('moreinfo').innerHTML=got+" of "+ total + " wishes";

                //if wish was saved
                if (wish) {
                        $('blockpanel').style.display='none';
                        $('makewish').style.display='none';
                        wish=0;
                }
        },
        evalScripts:false,
        onStateChange:function(){
                $('indicator').style.display='block';
        }
};

function init_feedback(){
    params.postBody="id=0";
    new Ajax(feedback_dir+'usr/extensions/save.php?a=get', params ).request();
    params.postBody="";
    //$('resizer').makeResizable(resizableOptions);

    return true;
}

function saveForm(){
    params.postBody="text="+$('addNote').text.value+"&email="+$('email').value;
        //+"&w="+$('resizer').getPosition().width
        //+"&h="+$('resizer').getPosition().height
        //+"&color="+$('resizer').style.backgroundColor;
    wish=1;
    new Ajax(feedback_dir+'usr/extensions/save.php?a=save', params ).request();
    params.postBody="";
    total++;
}

//return max z-index
function getMaxZ() {
    var max=0;
    //get all elements of page body
    var el = document.getElementsByClassName('note');

        //go throught all elements of the page
    for (var i=0;i<el.length;i++) {
        if (parseInt(el[i].style.zIndex)>max) {
            max=parseInt(el[i].style.zIndex);
        }
    }
    max++;
    return max;
}


function newWish(){
    $('blockpanel').style.display='block';
    $('blockpanel').style.height=document.body.scrollHeight + 'px';
    $('blockpanel').style.width=document.body.scrollWidth + 'px';

    $('makewish').style.display='block';
    $('makewish').style.top=(document.body.clientHeight/2-$('makewish').offsetHeight/2) + 'px';
    $('makewish').style.left=(document.body.clientWidth/2-$('makewish').offsetWidth/2)+ 'px';


    $('addNote').text.value='I wish...';



/*    $('resizer').innerHTML='I wish...';
    //Fibonacci - make it perfect :)
    $('resizer').style.width='89px';
    $('resizer').style.height='55px';
*/
}


function $(el){
        el = document.getElementById(el);
                return el;
}


function cancelWish(){
    $('blockpanel').style.display='none';
    $('makewish').style.display='none';
}


function getOffset(el,what){
    var offset = 0;
    do {
        offset += el['offset'+what] || 0;
        el = el.offsetParent;
    } while (el);
    return offset;
}

function getPosition(el){
    var obj = {};
    obj.width = el.offsetWidth;
    obj.height = el.offsetHeight;
    obj.left = getOffset(el,"Left");
    obj.top = getOffset(el,"Top");
    obj.right = obj.left + obj.width;
    obj.bottom = obj.top + obj.height;
    return obj;
}


function getStatistic()
{
        params.postBody="id=0";
        new Ajax(feedback_dir+'usr/extensions/save.php?a=info', params ).request();
        params.postBody="";
        return true;
}

function keyPressHandler(e) {
    e= (window.event)? window.event: e;
    var Esc = (window.event) ? 27 : e.DOM_VK_ESCAPE // MSIE : Firefox
    if(e.keyCode==Esc){
            stop=1;
            $('indicator').style.display='none';
    }
   return true;
}

//fix for png transparence in IE        - got somewhere else
function fixpng(o, src) {
         var supported = /MSIE ((5\.5)|[6789])/.test(navigator.userAgent) && navigator.platform == "Win32";
          if(supported) o.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+src+"',sizingMethod='scale')";
          else o.style.backgroundImage= "url('"+src+"')";
}