var ItemView = null;
//ItemProto Definition: entry,name,description,class,subclass,...
var ItemProto = [];
var buttonPosition = new Array(2);
buttonPosition['buttoninfo'] = new Array(2);
buttonPosition['buttoninfo']['top'] = 0;
buttonPosition['buttoninfo']['left'] = 0;
buttonPosition['buttonbuy'] = new Array(2);
buttonPosition['buttonbuy']['top'] = 0;
buttonPosition['buttonbuy']['left'] = 0;
var currentButton = new Array();
function CreateItems()
{
var _tr = [];
var _th = [];
for (itr in ItemProto)
{
_table = tvWrapper.appendChild(tvDocument.createElement('table'));
_table.setAttribute("style", "float:left");
_table.style.padding = "5px 0px 0px 5px";
_table.cellSpacing = "0";
_table.cellPadding = "0";
_tbody = _table.appendChild(tvDocument.createElement('tbody'));
_tr[1] =_tbody.appendChild(tvDocument.createElement('tr'));
_td = _tr[1].appendChild(tvDocument.createElement('td'));
_td.id = 'i_main';
_td.style.backgroundImage = "url('http://realms.aleajecta.com/dev/ShopEngine/images/Bubble.png')";
_td.style.padding = '20px 10px 10px 20px';
_ImgShowCase = _td.appendChild(tvDocument.createElement('img'));
_ImgShowCase.name = ItemProto[itr]['entry'];
_ImgShowCase.className = 'showcase';
_ImgShowCase.src = 'http://realms.aleajecta.com/dev/ShopEngine/images/thumbs/' + ItemProto[itr]['photo'];
_ImgShowCase.style.position = 'relative';
_ImgShowCase.style.marginRight = '4px';
_ImgShowCase.style.height = '125px';
_ImgShowCase.style.zIndex = '999';
/*_ImgShowCase.onmouseover = function()
{
MouseOverBorder(this, 'onmouseout');
return true;
};*/
_ImgShowCase.onmouseup = function()
{
AddBubble(this);
DelItemButton();
};
_ImgShowCase.onmousedown = function()
{
AddItemButton(this);
return false;
};
_ImgButtonInfo = _td.appendChild(tvDocument.createElement('img'));
_ImgButtonInfo.name = ItemProto[itr]['entry'];
_ImgButtonInfo.className = "buttoninfo";
_ImgButtonInfo.src = 'http://realms.aleajecta.com/dev/ShopEngine/images/Info.png';
_ImgButtonInfo.style.position = 'absolute';
_ImgButtonInfo.style.display = 'none';
_ImgButtonInfo.style.zIndex = '1000';
_ImgButtonInfo.onmouseover = function()
{
MouseOverBorder(this, 'onmouseout');
};
_ImgButtonInfo.onmouseup = function()
{
AddBubble(this);
DelItemButton();
};
_ImgButtonBuy = _td.appendChild(tvDocument.createElement('img'));
_ImgButtonBuy.name = ItemProto[itr]['entry'];
_ImgButtonBuy.className = 'buttonbuy';
_ImgButtonBuy.src = 'http://realms.aleajecta.com/dev/ShopEngine/images/Buy.png';
_ImgButtonBuy.style.position = 'absolute';
_ImgButtonBuy.style.display = 'none';
_ImgButtonBuy.style.zIndex = '1000';
_ImgButtonInfo.onmouseover = function()
{
MouseOverBorder(this, 'onmouseout');
};
_th[1] = _tr[1].appendChild(tvDocument.createElement('th'));
_th[1].id = 'i_first';
_th[1].style.backgroundImage = "url('http://realms.aleajecta.com/dev/ShopEngine/images/Bubble.png')";
_th[1].style.backgroundPosition = 'top right';
_th[1].style.position = 'relative';
_th[1].style.width = '5px';
_th[1].style.height = '8px';
_tr[2] = _tbody.appendChild(tvDocument.createElement('tr'));
_th[2] = _tr[2].appendChild(tvDocument.createElement('th'));
_th[2].id = 'i_second';
_th[2].style.backgroundImage = "url('http://realms.aleajecta.com/dev/ShopEngine/images/Bubble.png')";
_th[2].style.backgroundPosition = 'bottom left';
_th[2].style.position = 'relative';
_th[2].style.width = '5px';
_th[2].style.height = '8px';
_th[3] = _tr[2].appendChild(tvDocument.createElement('th'));
_th[3].id = 'i_third';
_th[3].style.backgroundImage = "url('http://realms.aleajecta.com/dev/ShopEngine/images/Bubble.png')";
_th[3].style.backgroundPosition = 'bottom right';
_th[3].style.position = 'relative';
_th[3].style.width = '5px';
_th[3].style.height = '8px';
}
return true;
}
function LoadItemsProto()
{
req.onreadystatechange = function()
{
if (req.readyState == 4)
{
var data = req.responseJS;
if (!data)
{
//Error Output.. For TV viewer. :)
DocumentBlur(true);
alert(req.responseText);
}
else
{
for(var itr in req.responseJS)
ItemProto[ req.responseJS[itr]['entry'] ] = req.responseJS[itr];
eventSystem.addEvent('CreateItems();DocumentBlur(true);',0);
}
req.onreadystatechange = null;
}
};
DocumentBlur(false);
req.open('GET', 'http://realms.aleajecta.com/dev/ShopEngine/index.php?JsRequest&QuerySql&type=select&table=item_template&colum=entry,name,maker,sellPrice,photo&order=name&limit=200', true);
req.send({ });
}
function LoadItemDescription(entry)
{
//alert(GetElementById('tvFrame').contentDocument.getElementById('itemDescription'));
if(ItemProto[entry]['description'])
{
if(target = GetElementById('tvFrame').contentDocument.getElementById('itemDescription'))
target.innerHTML = ItemProto[entry]['description'].wordWrap(78,'
',0);
return;
}
req.onreadystatechange = function()
{
if (req.readyState == 4)
{
if (!req.responseJS)
{
//Error Output.. For TV viewer. :)
alert(req.responseText);
}
else
{
//alert(req.responseJS);
ItemProto[entry]['description'] = req.responseJS[0]['description'] ? req.responseJS[0]['description'] : 'Description For This Item Is Unavailable';
if(target = GetElementById('tvFrame').contentDocument.getElementById('itemDescription'))
target.innerHTML = ItemProto[entry]['description'].wordWrap(78,'
',0);
}
req.onreadystatechange = null;
}
};
req.open('GET', 'http://realms.aleajecta.com/dev/ShopEngine/index.php?JsRequest&QuerySql&type=select&table=item_template&colum=description&where=entry:equal:'+entry, true);
req.send({ });
//'+ItemProto[owner.id]['description'].wordWrap(78,'
',0)+'
}
function MakeItemButtonPosition(owner,childClassName)
{
//_current = _current.parentNode
for (var itr in owner.childNodes)
{
if(!owner.childNodes[itr].className)
continue;
if (owner.childNodes[itr].className == 'showcase')
{
if (childClassName == 'buttoninfo')
{
buttonPosition[childClassName]['top'] = owner.childNodes[itr].offsetTop + owner.childNodes[itr].clientHeight - 40;
buttonPosition[childClassName]['left'] = owner.childNodes[itr].offsetLeft + 5;
}
else if(childClassName == 'buttonbuy')
{
buttonPosition[childClassName]['top'] = owner.childNodes[itr].offsetTop + owner.childNodes[itr].clientHeight - 50;
buttonPosition[childClassName]['left'] = owner.childNodes[itr].offsetLeft + owner.childNodes[itr].clientWidth - 32;
}
}
}
}
function AddItemButton(owner)
{
if(currentButton.length)
DelItemButton();
owner = owner.parentNode;
for(var i in owner.childNodes)
{
if(!owner.childNodes[i].className)
continue;
//alert(_current.childNodes[i].id);
if (owner.childNodes[i].className == 'buttoninfo')
{
MakeItemButtonPosition(owner,owner.childNodes[i].className);
owner.childNodes[i].style.top = buttonPosition[owner.childNodes[i].className]['top'];
owner.childNodes[i].style.left = buttonPosition[owner.childNodes[i].className]['left'];
owner.childNodes[i].style.display = 'block';
currentButton.push(owner.childNodes[i]);
}
if (owner.childNodes[i].className == 'buttonbuy')
{
MakeItemButtonPosition(owner,owner.childNodes[i].className);
owner.childNodes[i].style.top = buttonPosition[owner.childNodes[i].className]['top'];
owner.childNodes[i].style.left = buttonPosition[owner.childNodes[i].className]['left'];
owner.childNodes[i].style.display = 'block';
currentButton.push(owner.childNodes[i]);
}
}
}
function DelItemButton()
{
while (currentButton.length)
{
currentButton.pop().style.display = 'none';
}
}