//var request;

function xxcreateRequest() {
  try {
    request = new XMLHttpRequest();
  } catch (trymicrosoft) {
    try {
      request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (othermicrosoft) {
      try {
        request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (failed) {
        request = false;
      }
    }
  }

  if (!request)
    alert("Error initializing XMLHttpRequest!");
}

var doc_vert_pos;


function get_doc_vert_pos() {
        // navigator.appVersion;
        // MSIE 7.0
        if(navigator.appName == "Netscape") {
                doc_vert_pos=window.pageYOffset;
        }
        else if(navigator.appName == "Microsoft Internet Explorer") {
                // works in ie7
                doc_vert_pos=document.documentElement.scrollTop;
                //doc_vert_pos=document.body.scrollTop;
        }
        doc_vert_pos+="px";
        return doc_vert_pos;
}


function get_viewport () {
        var viewport = new Object();

        // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight

        if (typeof window.innerWidth != 'undefined') {
                viewport.width = window.innerWidth;
                viewport.height = window.innerHeight;
        }

        // IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)

        else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
                viewport.width = document.documentElement.clientWidth;
                viewport.height = document.documentElement.clientHeight;
        }

        // older versions of IE

        else {
               viewport.width = document.getElementsByTagName('body')[0].clientWidth,
               viewport.height = document.getElementsByTagName('body')[0].clientHeight
        }
        return viewport;
}


function position_div(div_name) {
        doc_vert_pos=get_doc_vert_pos();
        doc_vert_pos=doc_vert_pos.substr(0,doc_vert_pos.length-2);
        the_viewport=get_viewport();
        document.getElementById(div_name).style.top=doc_vert_pos-100+the_viewport.height/2+"px";
        div_width=parseInt(document.getElementById(div_name).style.width);
        document.getElementById(div_name).style.left=(the_viewport.width/2) - div_width/2+"px";
}



function add_to_qb(session,id) {
        make_full_size("fi_translucence");
        show_div("fi_translucence");
        position_div("adding_to_qb");
        show_div("adding_to_qb");
        thedate=new Date();
        start_time=thedate.getTime();
        createRequest();
        url="/quilt_builder/qb_add_fabric_module.php?id="+id+"&session="+session;
        request.open("GET", url, true);
        request.onreadystatechange = update_qb_status;
        request.send(null);
}




function update_qb_status() {
     if (request.readyState == 4) {
                var response = request.responseText;
                //alert(response);
                document.getElementById("quilt_status_div").innerHTML=response;
                show_div("quilt_status_div");
                thedate=new Date();
                delta=thedate.getTime()-start_time;
                // in ie, this takes 3 seconds, in firefox, 15 minutes at 1500ms
                milisecs_to_wait=300;
                if (delta<milisecs_to_wait) {
                        setTimeout("close_adding_to_qb();",milisecs_to_wait-delta);
                }
                else {
                        close_adding_to_qb();
                }
     }
}

    
function close_adding_to_qb() {
        hide_div("adding_to_qb");
        hide_div("fi_translucence");
}



function xxhide_div(div_name) {
        document.getElementById(div_name).style.display='none';
}


function xxshow_div(div_name) {
        //alert(div_name);
        document.getElementById(div_name).style.display='block';
}


function toggle_div_visibility(div_name) {
        if (document.getElementById(div_name).style.display=='block') {
                document.getElementById(div_name).style.display='none';
        }
        else {
                document.getElementById(div_name).style.display='block';
        }
}

