// |SCItem|id::itemId;;attribName::attribValue;;attribName2::attribValue;;attribNameX::attribValue|SCItem|
// http://shopping.netsuite.com/s.nl/c.275594/n.1/sc.7/category.4897/.f?range=31,123,123
var paginationUrls = new Array();
var paginationIndex = 0;
var loadingDiv = 'loadingDiv';
var loadingImg = "http://shopping.netsuite.com/c.332655/site/scripts/ajax-loader.gif  ";

function injectItems(){
	var rangeUrl = document.URL;

	// Getting the max number of items and how much items by page are setted
	var itemsPerPage = 0;
	var itemsTotal = 0;
	
	try{
		var formTable = document.getElementById('form0').parentNode.parentNode;
		var hrefs = formTable.getElementsByTagName('a');
		for ( var i=0;i<hrefs.length;i++){
			link = hrefs[i];
			if(link.href.indexOf('range=') != -1 && link.innerHTML.indexOf('img') == -1){
				add_url(link.href)
			}
		}
		if ( paginationUrls.length > 0 ) makeAjaxCall();
	} catch (e){
		
	}
}

function add_url(url){
	for(var i =0; i<paginationUrls.length;i++){
		if (paginationUrls[i] == url ){
			return ;
		}
	}
	paginationUrls[paginationUrls.length] = url;
}

function makeAjaxCall(){
	url = paginationUrls[paginationIndex];

	loadingDiv = document.getElementById('loadingDiv');
	loadingDiv.style.display="none";
	
	try {
		var numbers = url.split("range=")[1].split(",");
		loadingDiv.style.display = "block";
		loadingDiv.innerHTML = "<br/><img src='"+loadingImg+"' /><br/>&nbsp;<b>Loading</b>: <br/>"+numbers[0]+"-"+numbers[1]+"/"+numbers[2]+"<br />";
	} catch (e) {}
	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null) {
		alert ("Your browser does not support AJAX!");
		return;
	}
	if ( itemctrl.reportMsgs == true){ alert("About to make AJAX CALL TO - "+url);}
	xmlHttp.onreadystatechange=getAndParseItems;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);	
}

function getAndParseItems(){
	try{
		if(xmlHttp.readyState == 4) {
			if(xmlHttp.status == 200) {
				var rStr = xmlHttp.responseText;
				paginationIndex += 1;
				//var rStr = ""
				//Parsing the string
				var crudeSplit = rStr.split('|SCItem|');
				var itemsStrings = new Array();
				
				//Starting from 1 and adding 2 because the string in the start, the end, and between the items is trash html
				items = new Array();
				itemsHtml = new Array();
				for ( var i =1; i<crudeSplit.length;i += 2){
					istr = crudeSplit[i];
					itemObj = parseItemStr(istr);
					//Making and storing the item
					items[items.length] = itemObj;
				}
				
				injectToController(items);
				if ( paginationIndex < paginationUrls.length){
					makeAjaxCall();		
				} else {
						document.getElementById('loadingDiv').style.display="none";
				}
			}
		}
	} catch ( e) {	}
}

function parseItemStr(istr){
	iParamsAndValues = istr.split(';;');
	iId = iParamsAndValues[0];
	iId = "pItem|"+iId.split('::')[1];
	itemObj = new SC_Item(iId);
	
	//Getting Params for the params Array
	for ( var x=1;x<iParamsAndValues.length;x++){
		apv = iParamsAndValues[x].split('::');
		paramName = apv[0];
		paramValue = apv[1];
		itemObj.addAttribute((itemObj.getId()+x),paramName,paramValue, "false");
	}
	return itemObj;
}

function injectToController(items){
	for ( var i =0; i<items.length;i++){
		var it = items[i];
		itemctrl.addSC_Item(it);
		itemctrl.addItemIdToShow(it);
	}
	itemctrl.showFilteredItems();
	addFinishLinksGlobal();
}

function GetXmlHttpObject() {
	var xmlHttp=null;
	try {
	  // Firefox, Opera 8.0+, Safari
	  xmlHttp=new XMLHttpRequest();
	} catch (e) {
		// Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

/*
	return "asdfasdf|SCItem|id::itemId1;;Price::$55;;width::5;;finish::MEDIUM BRONZE FINISHES;;divToShow::<div id='divToShow-itemId1'>\nhola hola hola hola hola\n</div>|SCItem|asdfasdfasdfasdf";
*/	


