﻿$(document).ready(function() {
   setupSpecifications();
   Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler);
   function endRequestHandler(sender, args){
       setupSpecifications();
   }
});

function setupSpecifications(){
	
	var nextZIndex = 200;
    var windowNumber = 0;
    $(".infospecs").click(function(e) {
        var currentelement = this;
        var cssclass = $(this).attr('class').split(' ').slice(-1);
        var entityid = cssclass[0].split('_')[1];
        var entityname = cssclass[0].split('_')[0];

        var elementid = 'specs_detail_' + entityname + '_' + entityid;

        if ($('#' + elementid).length === 0) {
            $.ajax({
                type: "GET",
                url: "SpecsHandler.ashx",
                data: "entityname=" + entityname + "&entityid=" + entityid + "&" + new Date().getTime().toString(),
                contentType: "application/html; charset=utf-8",
                dataType: "html",
                success: function(msg) {
                    /* calculate an x and y so that the windows do not overlap */
                    var y = (windowNumber * 20) % 200;
                    var x = (((windowNumber * 20) / 200) * 10 + y) % 600;
                    windowNumber++;

                    var newelement = $("<div style='position:absolute; left: " + x + "px; top: " + y + "px; z-index:" + ++nextZIndex + ";'>" + msg + "<div>");
                    newelement.get(0).id = elementid;
                    newelement.insertAfter($(window.document.body).children('form').get(0));
                    newelement.children('.specifications').children('.close').click(function() {
                        newelement.remove();
                    });
                    newelement.click(function(e) {
                        newelement.get(0).style.zIndex = ++nextZIndex;
                    });
                    newelement.draggable();
                }
            });
        } else {
            var foundElement = $('#' + elementid).get(0);
            foundElement.style.zIndex = ++nextZIndex;
            if (typeof foundElement.show !== 'undefined') {
                foundElement.show();
            }
        }
    });
}
