var xmlReq;
var listG ; 
//var	url = "http://localhost:8080/cf_core/ajax/";
//var urlService = "http://www.proluna.com/cf_core/services/serviceAjax"

var specIdsG;
var fixedValuesG = {};
var fillFunctions = [];
var STATIC_ONCE = true;

var xmlReq1;
var xmlReq = new Array();
var xmlReqProcessed = new Array();
var countedProps = new Array();
var countedIds = new Array();
var countedNames = new Array();


var itemsNumber;
var listG ; 
var buttonId;
var countK = 0;
var counterProps = 0;
var requestCount =0;
//var	url = "http://localhost:8080/cf_core/ajax/";

function doPost3(str, handler3){
	xmlReq[requestCount] = MochiKit.Async.getXMLHttpRequest();
	//alert(str);
    xmlReq[requestCount].open("POST",urlService,true);
    xmlReq[requestCount].setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    xmlReq[requestCount].onreadystatechange = handler3;
    xmlReq[requestCount].send(str);
    xmlReqProcessed[requestCount] = 0;
    requestCount += 1;
}


function doPost2(str, handler2){
			//log("doPost  2");
    xmlReq1 = MochiKit.Async.getXMLHttpRequest();
	//alert(str);
    xmlReq1.open("POST",urlService,true);
    xmlReq1.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    xmlReq1.onreadystatechange = handler2;
    xmlReq1.send(str);
}



function doPost(str, handler){
	xmlReq1 = MochiKit.Async.getXMLHttpRequest();
	//alert(str);
    xmlReq1.open("POST",urlService,true);
    xmlReq1.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    xmlReq1.onreadystatechange = handler;
    xmlReq1.send(str);
}


goCompareGlobal = function() {
	
			switch(buttonId)
		{
		case "advise_button":
createCookieTemp(getValuesWide());

		break    
		case "advise_button_right":

//createCookieTemp(getValuesRight());
		break
		case "advise_button_save":
createCookie(getValues());saveSearch();
		break
		default:
		}
	goCompare(listG);
}

/* Quick search  */

function processSearch (valuesId ,groupId){
	var propertyNumber = _param("Props");
	var str = "actionId=" + valuesId + "&groupId=" + groupId + "&specIds=" + propertyNumber;

	
	d = loadJSONDoc(urlService+ "?" + str );
	d.addCallback(fillHandlerJSONValueQuick,propertyNumber); 
	d.addErrback(JSONerr); 
	}

function startSearch (propertyNumber,valuesId,groupId)  {
	document.location.href = "Quick_Search.html?Props="+propertyNumber;
	}


/* Quick search  */




function compare(skuIds){
	alert("compare");
	list = "";
	if (skuIds.length > 0){
		for( i = 0; i<skuIds.length;i++){
			//form.innerHTML +='<input type="hidden" name="skuId[]" value="'+skuIds[i]+'" />';
			list = list + skuIds[i]+",";
		}
		list = list.substring(0,list.length-1);
		advise = getElement("advise_button");
		alert("compare1");
		//alert(list);
		advise.setAttribute("onClick","goCompare(\''+list+'\')");
		listG = list;
		advise.onclick = goCompareGlobal;
		advise.removeAttribute("disabled");
	}
}


function compare2(skuIds){
	//alert("In compare");
	list = "";
	if (skuIds.length > 0){
		for( i = 0; i<skuIds.length;i++){
			//form.innerHTML +='<input type="hidden" name="skuId[]" value="'+skuIds[i]+'" />';
			list = list + skuIds[i]+",";
		}
		list = list.substring(0,list.length-1);
		if (list.match("null"))
		{
			//alert("Matching null");
			list = list.substring(0,list.length-5);
		}
		//advise = getElement("advise_button");
		//alert("Lista:"+list);
		location.href= compareUrl + linkCompare + "?skuIds=" +list

		//advise.setAttribute("onClick","goCompare(\''+list+'\')");
		//listG = list;
		//advise.onclick = goCompareGlobal;
		//advise.removeAttribute("disabled");
	}
}


function goCompare(list){
	//alert("here we go!");
	if (list.split(",").length>4 && false){
		comas = 0;
		j=0;
		while(comas<4 || list.charAt(j) == undefined){
			j++;
			if(list.charAt(j) == ','){
				comas++;
			}
		}
		list = list.substring(0,j);
		//alert(list);
		//alert("You can't compare more than 4 products");
		//return false;
	}
	location.href= compareUrl + linkCompare+"?skuIds=" +list
}


function handler3(){
	for(i=0;i<requestCount;i++)
	{
	if (xmlReq[i].readyState == 4 && xmlReqProcessed[i]==0)  {
		if (xmlReq[i].status == 200) 
			 {
			//alert(i);
			json = evalJSONRequest(xmlReq[i]);
			xmlReqProcessed[i] = 1;	
			countedProps[i] = json['ids'].length;	

			list ="";
			skuTable = json['ids'];
			for( j = 0; j<skuTable.length;j++){
				list = list + skuTable[j]+",";
				}
			list = list.substring(0,list.length-1);
			countedIds[i] = list;

			for(ii=0;ii<functions;ii++){
				//alert(fillFunctions[ii]);
				//eval(fillFunctions[ii]);//ta linia sluzy do redukowania mozliwych wartosci selectorow
			}
			if (json['ids'].length==0) {
				document.location.href = "Reference_not_available.html";
			}
			else
			{ 
				//compare2(json['ids']);
			}
			//alert("Req"+i+";"+itemsNumber);
		if (i  == itemsNumber - 1){
		  var propDiv = document.getElementById ("currentProp");
 		  for (k=0; k <requestCount; k++){
					propDiv.innerHTML += '<li class="qs_li"><a href="' + linkCompare + '?skuIds=' + countedIds[k] +'" class="selector_link">' + countedNames[k] +'</a>&nbsp;&nbsp;[' + countedProps[k] + ']<br />';
					}
			currentIds ="";
			for (k=0; k <requestCount; k++){
				currentIds += countedIds[k] +','; 
			}
			propDiv.innerHTML += '<li class="qs_li"><a href="' + linkCompare + '?skuIds=' + currentIds +'" class="selector_link">All</a></li>';
		//Other search criteria
	        dataurl = url + propertyListId + ".json"
               var d = loadJSONDoc( dataurl );
                        d.addCallback( processJSONSearch );
                                d.addErrback ( showError );

		}


		}
		else
		{
			
		}
			
	}
	}
}

function showAll(){
	var otherDiv = document.getElementById("currentProp");
	otherDiv.innerHTML ="";
		for (k=0; k < allPropsName.length; k++){
			otherDiv.innerHTML += '<li class="qs_li"><a href="Quick_Search.html?Props='+ allPropsId[k] +'" class="page_text_link">' + allPropsName[k] + '</a><br />';
		}
}


var processJSONSearch = function (data){
	     var otherDiv = document.getElementById("otherCriteria");
	     var i = 0 ;
	     var propCounter = 0;
	     var currentPropName ="";
	     otherListId = new Array();
	     otherListName = new Array();
	     allPropsName = new Array();	
	     allPropsId = new Array();	

            Specs = data.specs;
            SpecsList = data.specsList;
            productId = data.productsList[ 0 ];
	     sku = _param("Props");
	     for (x in Specs){
		if (x!= sku){
		if (Specs[x] != "Google maps link"){
		allPropsName[propCounter] = Specs[x];
		allPropsId[propCounter] = x;
		}

		 if (Specs[x]=="Views"){
			otherListId[i] = x;
			otherListName[i] = Specs[x];
			i+= 1;
		}
		 if (Specs[x]=="Prices"){
			otherListId[i] = x;
			otherListName[i] = Specs[x];
			i+= 1;
		}
		 if (Specs[x]=="Type"){
			otherListId[i] = x;
			otherListName[i] = Specs[x];
			i+= 1;
		}
		 if (Specs[x]=="Region"){
			otherListId[i] = x;
			otherListName[i] = Specs[x];
			i+= 1;
		}
		 if (Specs[x]=="Specific area"){
			otherListId[i] = x;
			otherListName[i] = Specs[x];
			i+= 1;
		}
		 if (Specs[x]=="Pool"){
			otherListId[i] = x;
			otherListName[i] = Specs[x];
			i+= 1;
		}
		 if (Specs[x]=="Airco"){
			otherListId[i] = x;
			otherListName[i] = Specs[x];
			i+= 1;
		}
		 if (Specs[x]=="Distance to the beach"){
			otherListId[i] = x;
			otherListName[i] = Specs[x];
			i+= 1;
		}
		 if (Specs[x]=="Bedrooms"){
			otherListId[i] = x;
			otherListName[i] = Specs[x];
			i+= 1;
		}
		propCounter+= 1;

		}
		else
		{
		      currentPropName = Specs[x];	
		}

		}
		for (k=0; k < otherListId.length; k++){
			otherDiv.innerHTML += '<li class="qs_li"><a href="Quick_Search.html?Props='+ otherListId[k] +'" class="page_text_link">' + otherListName[k] + '</a><br />';
		}
		//otherDiv.innerHTML +='<div style="margin-left:50px;"><button class="all_button_red" onclick="javascript:showAll();">All</button></div>';
		var headerDiv = document.getElementById("headerProp");
		headerDiv.innerHTML += '<div class="header2_style">Select &nbsp;' + currentPropName + ':</div>';		
		
	
            
}



function handler2(){
	if (xmlReq1.readyState == 4) {
		if (xmlReq1.status == 200) {
			json = evalJSONRequest(xmlReq1);
			
			for(ii=0;ii<functions;ii++){
				//alert(fillFunctions[ii]);
				//eval(fillFunctions[ii]);//ta linia sluzy do redukowania mozliwych wartosci selectorow
			}
			if (json['ids'].length==0) {
				document.location.href = "Reference_not_available.html";
			}
			else
			{ 
				compare2(json['ids']);
			}
		}
		else
		{
			
		}
	}
}

function handler(){
	if (xmlReq1.readyState == 4) {
		if (xmlReq1.status == 200) {
			json = evalJSONRequest(xmlReq1);
			switch(buttonId)
				{
				case "advise_button":
					getElement("foundMatches").innerHTML = json['ids'].length;
					getElement("advise_button").setAttribute("disabled","true");
				  break    
				case "advise_button_right":
					getElement("foundMatches_right").innerHTML = json['ids'].length;
					getElement("advise_button_right").setAttribute("disabled","true");
				break	
									case "advise_button_save":
					getElement("foundMatches").innerHTML = json['ids'].length;
					getElement("advise_button_save").setAttribute("disabled","true");
				break	
				default:
				}

			//getElement("foundMatches").innerHTML = json['ids'].length;
			if(json['ids'].length==0){
			//alert(buttonId);
			switch(buttonId)
				{
				case "advise_button":
					getElement("foundMatches").innerHTML = "There are no products matching your selection. Please change your criteria.";
				  break    
				case "advise_button_right":
					getElement("foundMatches_right").innerHTML = "There are no products matching your selection. Please change your criteria.";
				break	
								case "advise_button_save":
					getElement("foundMatches").innerHTML = "There are no products matching your selection. Please change your criteria.";
				break	
				default:
				}
				//getElement("foundMatches").innerHTML = "There are no products matching your selection. Please change your criteria.";

			}
			
			for(ii=0;ii<functions;ii++){
				//alert(fillFunctions[ii]);
				//eval(fillFunctions[ii]);//ta linia sluzy do redukowania mozliwych wartosci selectorow
			}
			//compare(json['ids']);
			testCompare(json['ids']);
		}
		else
		{
			
		}
	}
}

function testCompare (skuIds){
	list = "";
	if (skuIds.length > 0){
		for( i = 0; i<skuIds.length;i++){
			//form.innerHTML +='<input type="hidden" name="skuId[]" value="'+skuIds[i]+'" />';
			list = list + skuIds[i]+",";
		}
		list = list.substring(0,list.length-1);
		switch(buttonId)
		{
		case "advise_button":
		advise = getElement("advise_button");
		  break    
		case "advise_button_right":
		advise = getElement("advise_button_right");
		break
						case "advise_button_save":
		advise = getElement("advise_button_save");
		break
		default:
		}
		//advise = getElement("advise_button");
		//alert(list);
		advise.setAttribute("onClick","goCompare(\''+list+'\')");
		listG = list;
		advise.onclick = goCompareGlobal;
		advise.removeAttribute("disabled");
	}
}


function getCountWide(countId,groupId){
	fixedValuesG = {};
	var str = "actionId=" + countId +"&langId="+langId + "&groupId=" + groupId;
	selsYesNo = getElementsByTagAndClassName("select","yes_no","selects");

	for(i=0;i<selsYesNo.length;i++){ 
		select = selsYesNo[i];
		if(select.value==""){
			//getElement("foundMatches").innerHTML = 0;
			//advise.setAttribute("disabled","true");
		}else{
			str += "&col_" + select.value + "=yes";
			
		}
	}
	selsValue = getElementsByTagAndClassName("select","form_selector","selects");
	for(i=0;i<selsValue.length;i++){
		if (selsValue[i].value != ""){
			str += "&" + selsValue[i].name + "=" + selsValue[i].value;
			fixedValuesG[selsValue[i].name] = selsValue[i].value;
		}
	}
	var butt = getElement("advise_button");
	buttonId = butt.id;
	//alert(buttonId);

	doPost(str,handler);
}



function getCount(countId,groupId){
	fixedValuesG = {};
	var str = "actionId=" + countId +"&langId="+langId + "&groupId=" + groupId +"&langId="+langId;
	selsYesNo = getElementsByTagAndClassName("select","yes_no","selects2");

	for(i=0;i<selsYesNo.length;i++){ 
		select = selsYesNo[i];
		if(select.value==""){
			//getElement("foundMatches").innerHTML = 0;
			//advise.setAttribute("disabled","true");
		}else{
			str += "&col_" + select.value + "=yes";
	
		}
	}
	//log(str);
	selsValue = getElementsByTagAndClassName("select","selector_select","selects2");
	for(i=0;i<selsValue.length;i++){
			//alert(selsValue.length);
		if (selsValue[i].value != ""){	
			str += "&" + selsValue[i].name + "=" + selsValue[i].value;
			fixedValuesG[selsValue[i].name] = selsValue[i].value;
		}
	}
//	log(str);
	var butt = getElement("advise_button_right");
	buttonId = butt.id;
	//alert(buttonId);
	doPost(str,handler);
}


function getReference(countId,groupId){
	var str = "actionId=" + countId +"&langId="+langId + "&groupId=" + groupId;

	//selsValue = document.getElementById("input_ref");
	selsValue2 = getElementsByTagAndClassName("input","reference_input","selects1");
	for(i=0;i<selsValue2.length;i++){
		if (selsValue2[i].value != ""){
			str += "&" + selsValue2[i].name + "=" + selsValue2[i].value;
			fixedValuesG[selsValue2[i].name] = selsValue2[i].value;
		}
	}
	if (str.match("col"))
	{
		doPost2(str,handler2);
	}
	else
	{
		alert("Type a reference number!");
	}

}


var specIdsG;
var fixedValuesG = {};
var fillFunctions = [];
 
function fillValuesYesNo(uniqueId,valuesId,groupId,specIds)
{
	var str = "actionId=" + valuesId +"&langId="+langId + "&groupId=" + groupId;
	for(i=0;i<specIds.length;i++){
		if(specIds[i]){
			str += "&specIds="+specIds[i];
		}
	}
	//alert(str);
	d = loadJSONDoc(url+ "?" + str );
	d.addCallback(fillHandlerJSON, uniqueId,specIds); 
	d.addErrback(JSONerr); 
}

function fillValuesValue(uniqueId,valuesId,groupId,specId)
{
	//MochiKit.Logging.logger.debuggingBookmarklet();
	//alert("fillValuesValue");
//log("fillValuesValue");
	//alert(functions);
	var str = "actionId=" + valuesId +"&langId="+langId + "&groupId=" + groupId + "&specIds=" + specId;
	var fixedValues = {};
	var selsValue = getElementsByTagAndClassName("select","selector_select","selects2");
	//alert("selsValue"+selsValue);
	for(i=0;i<selsValue.length;i++){
		if(selsValue.id == uniqueId)
			continue;
               var temp = selsValue[i].value;
               
                if (temp != "" && temp != null){
                        fixedValues[selsValue[i].name.split("_")[1]] = temp;
                        
                }
        }
   
/*
	try{
		selsYesNo = getElementsByTagAndClassName("select","yes_no","selects2");
       		for(i=0;i<selsYesNo.length;i++){
        		temp = selsYesNo[i].value;
     		        if (temp != "" && temp != null){
                        	fixedValues[selsYesNo[i].value] = "yes";
                	}
        	}
	}catch(err){alert(err);}
*/
	for(var spec in fixedValues){
		if( spec != undefined ){
                	str += "&" + spec + "=" + fixedValues[spec] + "&specIds=" + spec;
        	}	
	}

	//alert(str);
	
	d = loadJSONDoc(urlService+ "?" + str );
	d.addCallback(fillHandlerJSONValue, uniqueId,specId); 
	d.addErrback(JSONerr); 
}


function fillValuesValueWide(uniqueId,valuesId,groupId,specId)
{
	//alert(functions);
	var str = "actionId=" + valuesId +"&langId="+langId + "&groupId=" + groupId + "&specIds=" + specId;
	var fixedValues = {};
	selsValue = getElementsByTagAndClassName("select","form_selector","selects");
	for(i=0;i<selsValue.length;i++){
		if(selsValue.id == uniqueId)
			continue;
                temp = selsValue[i].value;
                if (temp != "" && temp != null){
                        fixedValues[selsValue[i].name.split("_")[1]] = temp;
                }
        }

	try{
		selsYesNo = getElementsByTagAndClassName("select","yes_no","selects");
       		for(i=0;i<selsYesNo.length;i++){
        		temp = selsYesNo[i].value;
     		        if (temp != "" && temp != null){
                        	fixedValues[selsYesNo[i].value] = "yes";
                	}
        	}
	}catch(err){alert(err);}
	for(var spec in fixedValues){
		if( spec != undefined ){
                	str += "&" + spec + "=" + fixedValues[spec] + "&specIds=" + spec;
        	}	
	}
	//alert(str);
	d = loadJSONDoc(urlService+ "?" + str );
	d.addCallback(fillHandlerJSONValue, uniqueId,specId); 
	d.addErrback(JSONerr); 
}



function fillHandlerJSONValueQuick(specId,json){
         js = json["spec_"+specId];
	  var propDiv = document.getElementById ("currentProp");
         ja = js["values"];
	  itemsNumber = ja.length;
         for(k=0;k<ja.length;k++){
			       str = "actionId=67&groupId=53&col_" + specId + "=" +ja[k];
				doPost3(str,handler3);
				countedNames[k] = ja[k];
				//propDiv.innerHTML += ja[k] + '<br />';
				
	  } 	
		 
}


function _param(name) {
   var url = window.location.href;
   var paramsStart = url.indexOf("?");

   if(paramsStart != -1){

      var paramString = url.substr(paramsStart + 1);
      var tokenStart = paramString.indexOf(name);

      if(tokenStart != -1){

         paramToEnd = paramString.substr(tokenStart + name.length + 1);
         var delimiterPos = paramToEnd.indexOf("&");

         if(delimiterPos == -1){
            return paramToEnd;
         }
         else {
            return paramToEnd.substr(0, delimiterPos);
         }
      }
		
      //alert ('Required Parameter *'+name+'* is missing');
   }

}
function fillValuesValueSave(uniqueId,valuesId,groupId,specId)
{
	//alert(functions);
	var str = "actionId=" + valuesId + "&langId="+langId +"&groupId=" + groupId + "&specIds=" + specId;
	var fixedValues = {};
	selsValue = getElementsByTagAndClassName("select","form_selector","selects");
	for(i=0;i<selsValue.length;i++){
		if(selsValue.id == uniqueId)
			continue;
                temp = selsValue[i].value;
                if (temp != "" && temp != null){
                        fixedValues[selsValue[i].name.split("_")[1]] = temp;
                }
        }
//alert(str);

	//alert(str);
	d = loadJSONDoc(urlService+ "?" + str );
	d.addCallback(fillHandlerJSONValue, uniqueId,specId); 
	d.addErrback(JSONerr); 
}



function getCountSave(countId,groupId){
	fixedValuesG = {};
	var str = "actionId=" + countId + "&langId="+langId +"&groupId=" + groupId;
//	selsYesNo = getElementsByTagAndClassName("select","yes_no","selects");
//
//	for(i=0;i<selsYesNo.length;i++){ 
//		select = selsYesNo[i];
//		if(select.value==""){
//			//getElement("foundMatches").innerHTML = 0;
//			//advise.setAttribute("disabled","true");
//		}else{
//			str += "&col_" + select.value + "=yes";
//			
//		}
//	}
	selsValue = getElementsByTagAndClassName("select","form_selector","selects");
	for(i=0;i<selsValue.length;i++){
		if (selsValue[i].value != ""){
			str += "&" + selsValue[i].name + "=" + selsValue[i].value;
			fixedValuesG[selsValue[i].name] = selsValue[i].value;
		}
	}
	var butt = getElement("advise_button_save");
	buttonId = butt.id;
	//alert(buttonId);

	doPost(str,handler);
}



function fillHandlerJSON(uniqueId,specIds,json){
		//log("fillHandlerJSON json 2");
	
	for(j=0;j<specIds.length;j++){
             sid = specIds[j];
             js = json["spec_"+sid];
             sel = getElement(uniqueId);
             opt = createDOM("Option",{"value":sid},js["label"])
             appendChildNodes(sel,opt);
          
        }
}

function isRanges(toTest) {
	re = /\d+-\d+/
	return re.test(toTest);
}

function hasRanges(element, index, array) {
	//alert("has ranges");
	re = /\d+-\d+/
 	return (re.test(element));
}


function sortRanges(a,b) {
	if (isRanges(a) ) {
		var temp = a.split('-');
		a = temp[0];
	} else {
		return 1;
	}
	if (isRanges(b) ) {
		var temp = b.split('-');
		b = temp[0];
	} else {
		return -1;
	}
	//log(a-b);
	return(a-b);
	  
}

// to wlasnie TA funkcja ;)
function fillHandlerJSONValue(uniqueId,specId,json){
	//alert("fillHandlerJSON");
	//log("fillHandlerJSONValue json 2");
         js = json["spec_"+specId];
         //getElement("spec_"+sid).innerHTML = js["label"];
         sel = getElement(uniqueId);
	 replaceChildNodes(sel);
	

	 opt = createDOM("Option",{"value":""},langId == "en_US" ? "all":"alles");	
	 
         appendChildNodes(sel,opt);
	 //sel.innerHTML = '<option value=""> --- </option>';
         ja = js["values"];
        // alert(ja[0]);
	var keys = "";
	//tutaj sortuj
	for(var k in fixedValuesG){
		keys += k+ ",";
	}
// IE shit!
//	log(ja.some(hasRanges));

// beacause IE sucks!
var UA,MSIEpos;
UA = window.navigator.userAgent;
MSIEpos = UA.indexOf("MSIE");
if (MSIEpos >= 0) {
	ja.sort();
} else {

	if(ja.some(hasRanges)) {
//alert("test");
		ja.sort(sortRanges)
		}
//	else {
//alert("przed sortowaniem");
else
			ja.sort();
}
//}	//		alert("po...");
	
	//alert(ja[0]+" "+ja[1]);
	
//	alert("przed: "+ja.length);
         for(k=0;k<ja.length;k++){
         //	alert("for(k=0;k<ja.length;k++){");
         if(ja[k]!="Unspecified" && ja[k] != "None") {
       //  	alert("if(ja[k]!=")
	    if(fixedValuesG["col_"+specId] == ja[k]){
	  //  	alert("FIXEDValuesG[")
	  //  log(ja[k]);
            	opt = createDOM("Option",{"value":ja[k],"selected":true},ja[k])
            //	alert(ja[k]);
	    }else{		
      // 	 log(ja[k]);
       	 opt = createDOM("Option",{"value":ja[k]},ja[k])
	    }
            if (ja[k]!='' && ja[k] !='None'){
       
       			 appendChildNodes(sel,opt);
            }
         }
         }
}

function JSONerr(err){
	
}

function fillHandler(){
	if (xmlReq.readyState == 4) {
		if (xmlReq.status == 200) {
			json = evalJSONRequest(xmlReq);
			for(j=0;j<specIdsG.length;j++){
				sid = specIdsG[j];
				js = json["spec_"+sid];
				sel = getElement(uniqueIdG);
				opt = createDOM("Option",{"value":sid},js["label"])
				appendChildNodes(sel,opt);
			}
		}
		else
		{
			alert("There was a problem retrieving data:\n" + xmlReq.statusText);
		}
	}
}

