function Results()
{var ana=this;this.insurersWithPolicies;this.init=function()
{ajax.requestPost('results','timeFrames',null,function(response){if(response.errorCode=='OK')
ana.timeFrames=response.timeFrames;});}
ana.getUnfinishedInsurers=function(policyTypeId)
{return ana.insurers.apply(null,null,function(row){if(ana.resultQuotes)
return(!ana.resultQuotes.getObjByParamVal('id_insurer',row.id_insurer));else return true;});}
var refreshCallback=function(response,params)
{if(response.errorCode=='OK'){if(response.resultQuotes.constructor==Array){ana.resultQuotes=response.resultQuotes;}else ana.resultQuotes=null;}
else if(response.errorCode=='StopRefresh'){if(response.resultQuotes);ana.errorQuotes=response.resultQuotes;}
else if(response.errorCode=='TimeOut'){if(response.details)
{ana.details=response.details;}}}
this.sendOpinion=function(text)
{ajax.requestPost('results','sendopenion',{'_messsage':text});}
this.fetchResults=function(module,action,id,idType)
{var params={'_quote_request_id':id};if(idType)params.idType=idType;var switchDone=function()
{ajax.requestPost('results','view',params,function(response){if(response.errorCode=='OK')
{ana.resultQuotes=null;ana.insurers=response.insurersData;ana.policies=response.policies;controller.forms.inputs.formId='R';ajax.requestPost('results','getDue',null,function(response){if(response.errorCode=='OK')
{ana.monthsInsurance=response.monthsInsurance;}});}else if(response.errorCode=='Internal Error'){controller.connectionFailed(response.errorMessage);}});}
controller.switchView('results',switchDone);}
this.backResults=function(sessionClick)
{var params={'_policy_type':ana.policyType,'_order_criteria':ana.order,'back':'true','_session_click':sessionClick};var switchDone=function()
{ajax.requestPost('results','orderByPolicy',params,refreshCallback);}
controller.switchView('results',switchDone);}
this.refreshResultss=function()
{controller.switchView('results');alert("atif refresh result");ajax.broadcast('results','view',null,{'errorCode':'OK'});}
this.refreshResults=function(module,action,policyType,orderCriteria)
{var params={'_policy_type':policyType,'_order_criteria':orderCriteria};ajax.requestInvisiblePost(module,action,params,refreshCallback);}
this.refreshResultsOne=function(module,action,policyType,orderCriteria,isRefreshNeeded)
{var params={'_policy_type':policyType,'_order_criteria':orderCriteria,'_is_refresh':'ok'};ajax.requestInvisiblePost(module,action,params,refreshCallback);}
this.updateResults=function(module,action,policyType,orderCriteria,sessionClick)
{var params={'_policy_type':policyType,'_order_criteria':orderCriteria,'_session_click':sessionClick};ajax.requestPost(module,action,params,refreshCallback);}
this.getInsurerInfo=function(module,action,scrapeRequestId)
{var params={'_scrape_request_id':scrapeRequestId};ajax.requestPost(module,action,params,function(response){if(response.errorCode=='OK')
ana.insurerInfo=response.insurerInfo;});}
this.userInterested=function(module,action,scrapeRequestId)
{var params={'_scrape_request_id':scrapeRequestId};ajax.requestPost(module,action,params,function(response){if(response.errorCode=='OK')
ana.interestInfo=response.interestInfo;});}
this.getRate=function(module,action,scrapeRequestId)
{var params={'_scrape_request_id':scrapeRequestId};ajax.requestPost(module,action,params,function(response){if(response.errorCode=='OK')
ana.ratingInfo=response.ratingInfo;});}
this.sendMail=function(email,code,pwd)
{mailData={'_access_user':code,'_access_code':pwd,'_mail':email};ajax.requestPost('results','sendApplication',mailData,function(response){if(response.errorCode=='OK')
alert("Mail enviado con éxito");});}
this.resultClick=function(idClickType,idConnectionType)
{var params={'_id_click_type':idClickType,'_id_connection_type':idConnectionType};ajax.requestPost('results','click',params,function(response){});}
this.sortQuality=function(asc)
{var haveResults=new Array();var notHaveResults=new Array();var x=0;var y=0;for(var i=0;i<ana.resultQuotes.length;i++)
{if(ana.resultQuotes[i].price)
{haveResults[x]=ana.resultQuotes[i];x++;}
else
{notHaveResults[y]=ana.resultQuotes[i];y++;}}
haveResults=haveResults.sortByParam('quality',asc);array1=ana.getCalidad(1,haveResults);array1.sortByParam('price',1);array2=ana.getCalidad(2,haveResults)
array2.sortByParam('price',1);array3=ana.getCalidad(3,haveResults)
array3.sortByParam('price',asc);array4=ana.getCalidad(4,haveResults)
array4.sortByParam('price',1);array5=ana.getCalidad(5,haveResults)
array5.sortByParam('price',1);temp=new Array();if(asc)
{if(array1.length>0)temp=temp.concat(array1);if(array2.length>0)temp=temp.concat(array2);if(array3.length>0)temp=temp.concat(array3);if(array4.length>0)temp=temp.concat(array4);if(array5.length>0)temp=temp.concat(array5);}else{if(array5.length>0)temp=temp.concat(array5);if(array4.length>0)temp=temp.concat(array4);if(array3.length>0)temp=temp.concat(array3);if(array2.length>0)temp=temp.concat(array2);if(array1.length>0)temp=temp.concat(array1);}
ana.resultQuotes=temp.concat(notHaveResults);}
this.getCalidad=function(i,results)
{var cat=new Array();var x=0;for(var y=0;y<results.length;y++)
{if(results[y].quality==i)
{cat[x]=results[y];x++;}}
return cat;}
this.sortPrice=function(asc)
{var haveResults=new Array();var notHaveResults=new Array();var x=0;var y=0;for(var i=0;i<ana.resultQuotes.length;i++)
{if(ana.resultQuotes[i].price)
{haveResults[x]=ana.resultQuotes[i];x++;}
else
{notHaveResults[y]=ana.resultQuotes[i];y++;}}
var j=haveResults.length-1;var i=0;haveResults=haveResults.sortByParam('price',asc);ana.resultQuotes=haveResults.concat(notHaveResults);}
ana.resultMsgs={"_notAvailable":"Información no accesible todavía. \n\n Por favor espere a que se carguen los resultados.","_noSaving":"Esta aseguradora no permite guardar presupuestos.  Tendrás que volver a indicar tus datos a la hora de contratar.","_messageSent":"Gracias por tu sugerencia.  Sin duda nos será de ayuda para mejorar nuestro servicio.","_failConn":"Hemos perdido la conexión temporalmente. \n Le vamos a dirigir a la página de inicio.  Desde ahí podrá recargar la comparativa insertando sus claves de acceso. \n Disculpen las molestias."};ana.intermediatPage={"_wantToSendAccess":"<input type='text' id='_results_userCode' READONLY/> <input type='text' id='_results_userpwd' READONLY/> <input value='no me envieis nada' type='button' onclick='_results_dontsend()'/> <input value='Enviadme estas claves a mi email'  type='button' onclick='_results_needsend()'>","_sendForm":"<span id='_results_loading' >...</span> Usuario:<input type='text' id='_results_userCode' READONLY/> Clave:<input type='text' id='_results_userpwd' READONLY/> email <input value='' type='text' id='_results_emailuser'/> <div id='_results_select'><div id='_results_due'/><input id='_results_agree' type='CHECKBOX'></div><input type='button' value='no enviar' onclick='_results_dontsend()'/> <input type='button' value='Enviar' onclick='_results_suresend()'>","_scrapingGotFromAccess":"<div name='textHere'>Si cambias<span id='_results_loading' >...</span>  Quedan <span id='_results_countDown'>60</span></div>","_scrapingGotFromSendForm":"<div name='textHere'>Si cambias<span id='_results_loading' >...</span>  Quedan <span id='_results_countDown'>60</span></div>","_finishScrappingGotFromAccess":"<div name='textHere'>Si cambias de opinion</div><div> <input class='link' onclick='_results_backRes()' type='button' value='Pincha aqui para ver comparativa'/></div>","_finishScrappingGotFromSendForm":"<div name='textHere'>Si cambias de opinion</div><div> <input class='link' onclick='_results_backRes()' type='button' value='Pincha aqui para ver comparativa'/></div>"};}
if(controller)controller.results=new Results();
