var st = 0;

/*--------------------------------Ajax.Core.Initialization------------------------------------*/
stack=function() {
    if (this.top == undefined) {
        this.top = 0;
        this.unit = new Array();
    }
    this.push = function(pushvalue) {
         
        this.unit[this.top] = pushvalue;
        this.top += 1;
    }
    this.readAllElements = function() {
        if (this.top == 0) {
            return undefined;
        }
        var count = 0;
        var outStr = "";

        for (count = 0; count < this.top; count++) {
            outStr += this.unit[count] + ",";
        }
        return (outStr);
    }
    this.pop = function() {
    if (this.top == 0) {
            return undefined;
        }
        var popTo = this.unit[this.top - 1];
        this.top--;
        return (popTo);
    }
}


/*--------------------------------Ajax.Core.Request------------------------------------*/
function makeHttpRequest(url, element, calltype) {
    st = $(window).scrollTop();
    
    $("#hiddenDiv").css('opacity','0.001');
    $("#hiddenDiv").show();
    $("#productResults").css('width', '100%');
    document.getElementById('productResults').innerHTML = "<div style=\"text-align:center;margin:150px 0;\"><img src=\"images/vibe/vibe.trib.spinner.gif\" alt=\"\" /></div>";
  var http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
      http_request.overrideMimeType('text/xml');
    }
  } else if (window.ActiveXObject) { // IE
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }
  }
  if (!http_request) {
    alert('Browser doesn\'t support Ajax. Site will NOT FULLY function properly.');
    return false;
  }
  http_request.onreadystatechange = function() {
    if (http_request.readyState == 4) {
      if (http_request.status == 200) {
          loadXML(http_request.responseText, calltype);
      } else {
        alert('There was a problem with the request. (Code: ' + http_request.status + ')');
      }
    }
  }
  http_request.open('GET', url, true);
  http_request.send(null);
}

function loadXML(xml, calltype) {

    if (calltype == 'VibeRequest') {

        if (document.getElementById('vibeTrib')) {

            var msg_debug = xml;    //debug
            //        try{
            //          msg_debug = xml.substr(0,xml.indexOf("<font color=\"#FF0000;\">")); //debug
            //         }
            //         catch(ex){
            //           msg_debug = xml
            //         }

            $("#vibeTrib").parent()[0].innerHTML = msg_debug;
            $("#productResults").hide();
            $("#productResults").animate({ opacity: 'show' }, 1000);
            $(window).scrollTop(st);
        }
    }

}

var urlBackStack = new stack();
var lastUrl;
var historyNum = 0;

function Vibe_AjaxRequest(url) {
    var posturl = "Trib_AjaxPage.aspx?baseurl=" + url;
    saveHistory(url);
    lastUrl = url;
    //SetCookie($("#thisEntityID").val(), posturl); //Save the Status
    //makeHttpRequest(posturl, undefined, 'VibeRequest');
}

/*-------------------------Vibe.history.process----------------------------*/
backUrl = function(baseUrl) {
    var url = urlBackStack.pop();
    if (!url)
        url = baseUrl + "?filter=[]";
    var posturl = "Trib_AjaxPage.aspx?baseurl=" + url;
    makeHttpRequest(posturl, undefined, 'VibeRequest');
}




/*-------------------------Vibe.Effect.Core--------------------------------*/
 
 moveObjtoObj=function(){
    var i=0;
    while($(".selectedAttr").get(i)){
        $(".showSelected").html($(".showSelected").html()+$(".selectedAttr").eq(i).html());
        ++i;
    }

}

function pageload(hash) {
    if (hash) {
        hash = hash.replace(/@/g, "%");
        hash = $("#thisBaseURL").val() + "?" + hash;
        var posturl = "Trib_AjaxPage.aspx?baseurl=" + hash;
        makeHttpRequest(posturl, undefined, 'VibeRequest');
    } else {

    var posturl = "Trib_AjaxPage.aspx?baseurl=" + $("#thisBaseURL").val() + "?filter=[]";
        makeHttpRequest(posturl, undefined, 'VibeRequest');
    }
}

$(function() {

    $.historyInit(pageload);

    saveHistory = function(url) {
        var hash = url;
        hash = hash.substr(hash.indexOf("Filter=["), hash.indexOf("]"));
        hash = hash.replace(/%/g, "@");
        $.historyLoad(hash);
        return false;
    }
});

