﻿var moveamount=20;
var MoveArray = [];
var MoveArrayCount=0;
var myInterval;
var MoveToArrX = new Array();
var MoveToArrY = new Array();
var bestprice='';
var bestpricepartner='';
var searchrunning = false;
var FinalQuoteResultsObjects;
var SortRunning=false;
var IsFullCompSelected=true;
var timerTime=0;
var wholeTimer=0;
var GetInitialPositions_isonload = true; 
YAHOO.namespace("example.container");

//////////////////////////////////// STARTS THE TIMER ////////////////////////////////////////////
function StartTimer(){searchrunning=true;myInterval = window.setInterval('processTimer();',1000);}
var maxweight=60;

function processTimer()
{
	if (wholeTimer==3 || wholeTimer==6 || wholeTimer==8 || wholeTimer==15 || wholeTimer==20 || wholeTimer==30 || wholeTimer==40 || wholeTimer==50 || wholeTimer==maxweight-2) 
      MakeRequest("CollectQuotesAjax.aspx?friendlyReference=" + friendlyreference + '&wholetimer=' + wholeTimer);      
	if (timerTime == 2) //every 2 seconds, retrieve quotes    
	    updatescreen();
    if(timerTime == 5)  //every 5 seconds
        {
            startsort()
            timerTime = 0;
        }
    wholeTimer++;
    timerTime++;

    var percentageComp;
    percentageComp = parseInt(wholeTimer/maxweight*100).toFixed(0);
    document.getElementById("percentage").innerHTML=percentageComp + '%';
     if(bestprice!='')
    {
        var pricetext='';
        if(bestpricepartner!='')
        {
            pricetext = "We are still searching for you.. Best quote so far is <span class=\"best-price-text\">&#163;" + bestprice + "</span> with " + bestpricepartner;
        }
        else
        {
            pricetext = "We are still searching for you.. Best quote so far is <span class=\"best-price-text\">&#163;" + bestprice + "</span>";
        }
        
       document.getElementById("endname").innerHTML=pricetext; 
    }
    if(wholeTimer==maxweight)
    {
        searchrunning=false;
        document.getElementById("percentage").innerHTML='100%';
        searchcomplete();
        clearTimeout(myInterval);
        myInterval  = 0;
    }
}

//////////////////////////////////// TIMER END ////////////////////////////////////////////

//////////////////////////////////// SORTING FUNCTIONS ////////////////////////////////////////////
function IsNumeric(strString)
{
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;
   if (strString.length == 0) return false;
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}
var sortV = function(a, b)
{
    if (IsNumeric(a.price) && IsNumeric(b.price))
    {
        return a.price - b.price;
    }
    else
    {
        return (b.price < a.price) - (a.price < b.price);
    }
}

function FindPosition(tArr,tIndex)
{
   var t = -1;
   for(i1 in tArr) 
    {
         if (tArr[i1].index == tIndex) t = i1;
    }
    return t;
}

function SortThis(inputArray)
{
    TempArray = new Array();
    for (var i = 0; i <= inputArray.length - 1; i++) 
    {                           
        TempArray[i] = {price:inputArray[i].price, index:i, dealguid:inputArray[i].dealguid,partnername:inputArray[i].partnername};
    }
    TempArray1 = TempArray.concat([])
    TempArray1.sort(sortV);
    MoveArray = TempArray1.concat([])
     for (i=0;i<TempArray.length;i++) 
    {
        swaptwo("Div" + TempArray[i].index, FindPosition(TempArray1, TempArray[i].index));
    }
}
function swaptwo(id1,id2)
{
    var movementtime=0.2;
    var movecolor='#F1F8FF';
    
    if(searchrunning==false)
        {movementtime=0.1;}
    else
        {movementtime=2.5;}
    if(IsFullCompSelected==true)
        {movecolor='#F1F8FF'}
    else
        {movecolor='#FDEDED'}
    x1=YAHOO.util.Dom.getXY(id1).toString().split(',')[0];
    y1=YAHOO.util.Dom.getXY(id1).toString().split(',')[1];
    x2=YAHOO.util.Dom.getXY('Div0').toString().split(',')[0];
    y2=MoveToArrY[id2];
    if ((y1 != y2) || (x1 != x2))
    {
        var myAnim = new YAHOO.util.Motion(id1, {points: { to: [x2,y2] }},movementtime, YAHOO.util.Easing.elasticBoth);
        myAnim.animate();
        var myAnim2 = new YAHOO.util.Motion(id2, {points: { to: [x1,y1] }},movementtime, YAHOO.util.Easing.elasticBoth);
        myAnim2.animate();
    }
    if(document.getElementById('Div' + id2).getElementsByTagName("TABLE")[0])
    {
        var tableref = document.getElementById('Div' + id2).getElementsByTagName("TABLE")[0].id;
        var dealguid = tableref.replace('wholepartner-','');
        tempval = document.getElementById('price-' + dealguid).innerHTML.toString();
    
        if (IsNumeric(tempval.substring(1,tempval.length)))
        {
           var attributes = {backgroundColor:{to: movecolor}};
           var anim3 = new YAHOO.util.ColorAnim(tableref, attributes, movementtime, YAHOO.util.Easing.easeOut);   
           anim3.animate();
        }
    }
}
function GetInitialPositions(myArray)
{
    if (GetInitialPositions_isonload) 
    {
        var i;
        for (i in myArray)
        {
            MoveToArrX[MoveToArrX.length] = YAHOO.util.Dom.getXY('Div'+i).toString().split(',')[0];
            MoveToArrY[MoveToArrY.length] = YAHOO.util.Dom.getXY('Div'+i).toString().split(',')[1];
        }
        GetInitialPositions_isonload = false;
    }
}
function getElementsByClassName(classname,tag) {
 if(!tag) tag = "*";
 var anchs =  document.getElementsByTagName(tag);
 var regexp = new RegExp('\\b' + classname + '\\b');
 var class_items = new Array()
 for(i=0;i<anchs.length;i++)
 { 
   var this_item = anchs[i];
   if(regexp.test(this_item.className)) {
   class_items.push(this_item);
 }
 }
 return class_items;
}

function startsort()
{
    var elementList = getElementsByClassName('prices','DIV');
    var elementarray = [];
    var BestPriceDivObj = null
    try{
    for(var u=0;u<elementList.length;u++)
    {
       var tempval = elementList[u].innerHTML+'';
       var dealguid = elementList[u].id.replace('price-','');
       var partnername = document.getElementById('actualpartnername-' + dealguid).innerHTML;
       switch(true)
       {
            case (tempval.length==0) : 
                          elementarray[u]={price:'no quote',dealguid:dealguid,partnername:partnername}
            break; case (IsNumeric(tempval.substring(1,tempval.length))):
                          elementarray[u]={price:tempval.substring(1,tempval.length),dealguid:dealguid,partnername:partnername};
                          switch(true)
                          {
                                case (bestprice == ''): 
                                        bestprice = elementarray[u].price;
                                break;  case (parseFloat(bestprice) > parseFloat(elementarray[u].price)): bestprice = elementarray[u].price;
                                        BestPriceDivObj=elementList[u];
                                             
                                break;  default: 
                                break;
                          }
            break; case (tempval == 'error'): 
                          elementarray[u] = 'zzerror'; 
            break; default:
                          elementarray[u]={price:tempval,dealguid:dealguid,partnername:partnername};
            break;
       }
    }
    }catch(e){}
    if(BestPriceDivObj)
    {
            try{      
            BestPriceDivObj.style.Color='#9B0B03';
            bestpricepartner=document.getElementById(BestPriceDivObj.id.toString().replace("price","actualpartnername")).innerHTML;
            }catch(e){}
    }
    if (bestprice != '')
    {
        GetInitialPositions(elementarray);
        SortThis(elementarray);
    }
}



function updateSearchBar()
{
    window.status='Search Complete';
}

function clearArray()
{
        elementList=[];
        MoveArray=[];
        MoveToArrX=[];
        MoveToArrY=[];  
}

//////////////////////////////////// SORTING FUNCTIONS END ////////////////////////////////////////////

//////////////////////////////////// AJAX REQUEST FOR QUOTE RESPONSES ////////////////////////////////////////////
 function MakeRequest(url)
 {
     var wRequest =  new Sys.Net.WebRequest();
     wRequest.set_url(url);
     wRequest.add_completed(OnCompleted);
     var executor = new Sys.Net.XMLHttpExecutor();        
     requestCollection.push(executor);
     wRequest.set_executor(executor); 
     executor.executeRequest(); 
     
 }   

function StopSearching(){
    clearArray()
    for(var i=0; i<requestCollection.length;i++)
        {
            requestCollection[i].abort();
        }
}
function DisplayWarning(){
return "Are you sure you want to leave page."
}

function OnCompleted(executor, eventArgs) 
{   
   completedCount++;
    // Get the Web request instance.
    var quoteResponses = null;
    if(executor.get_responseAvailable())    
    {
       // serialise the JSON quote text to object.
       try
       {
           //alert(executor.get_responseData());
           quoteResponses = Sys.Serialization.JavaScriptSerializer.deserialize(executor.get_responseData()); 
           
       }
       catch(e)
       {      
       //alert(e); 
       };
       if (quoteResponses != null)
       {    
           for(var j = 0; j < quoteResponses.length; j++)
           {
               //update the HTML DOM to display the quote
               if (quoteResponses[j].Quotes !=null && quoteResponses[j].Quotes.length > 0 && quoteResponses[j].Quotes[0] != null)               
                  displayQuote(quoteResponses[j]);
           }                
       }    
    }
    else
        executor.abort();
}
function displayFailedQuote(dealGuid,reason)
{    
    updatePercentageCompleteElement();
    AddNewQuoteForPartner(dealGuid,reason,'',100,selectedquotetype,'')
}
function updatePercentageCompleteElement()
{
     quotedCount++;
}

function displayQuote(quoteResponse)
{
    updatePercentageCompleteElement();
    var dealGuid = quoteResponse.DealGuid;
    var clientlink='';
    var steppingstonehtml='';
    var ResultMini;
    var ncd;
    var username='';
    var password='';
    var ncdText='';
    var ResultQuoteMini = getFinalQuoteResult(quoteResponse.DealGuid);
    if(ResultQuoteMini)
    {
        var QuoteType = ReturnQuoteType(quoteResponse.QuoteOption.NCDProtected,quoteResponse.QuoteOption.Excess,quoteResponse.QuoteOption.CoverType);
        // Look up what type of quote it is from the response...
        if(QuoteType==1)
        {
            ResultQuoteMini.QuoteGUID = quoteResponse.Quotes[0].Guid;
            ResultQuoteMini.QuoteOption = quoteResponse.QuoteOption.Guid;   
        }
        ResultMini=getMini(quoteResponse.DealGuid); // returns inital partner information: like stepping stone and logo....
        
        if(ResultMini!=null && ResultMini.SteppingStoneHtml!=null){steppingstonehtml=ResultMini.SteppingStoneHtml;}
        if(quoteResponse.Quotes[0].ClientLink!=null){clientlink=trim(quoteResponse.Quotes[0].ClientLink);}
        ncd=quoteResponse.QuoteOption.NCDProtected;
        if(ncd==true){ncdText="NCD Protected"}else{ncdText="none"}
        if(quoteResponse.Quotes[0].Username!=null){username=quoteResponse.Quotes[0].Username}else{username=''};
        if(quoteResponse.Quotes[0].Password!=null){password=quoteResponse.Quotes[0].Password}else{password=''};
        if(quoteResponse.Quotes[0].Guid =="00000000-0000-0000-0000-000000000000")
        {
            alert("Quote Option Guid:" + quoteResponse.QuoteOption.Guid + ': Quote GUID:' + quoteResponse.Quotes[0].Guid + ':' + quoteResponse.PartnerName);
        }
        AddNewQuoteForPartner(dealGuid,quoteResponse.Quotes[0].AnnualPrice,clientlink, quoteResponse.QuoteOption.Excess ,ncdText,QuoteType,steppingstonehtml, quoteResponse.Reference,username,password,quoteResponse.QuoteOption.Guid,quoteResponse.Quotes[0].Guid,quoteResponse.PartnerName);
    }
} 

//////////////////////////////////// AJAX REQUEST FOR QUOTE RESPONSES END ////////////////////////////////////////////

function getFinalQuoteResult(DealGuid){ // Creates a set of elements one for each partner that can hold ALL information like: price, ncd.....
       return; // !! //
       for(var i=0;i<FinalQuoteResultsObjects.length;i++)
       {
            if(FinalQuoteResultsObjects[i].DealGuid==DealGuid)
            {
                return FinalQuoteResultsObjects[i];
            }
       }
       return null;
}
function getMini(DealGuid){   // returns inital partner information: like stepping stone and logo....
       for(var i=0;i<DealQuoteResultsMinis.length;i++)
       {
            if(DealQuoteResultsMinis[i].DealGuid==DealGuid)
            {
                return DealQuoteResultsMinis[i];
            }
       }
       return null;
}

function ReturnQuoteType(ncd, excess, covertype)
{
    var retval;
    // ncd is bool, excess is int, covertype, 0 is comp, 1 is tpft
    // Comp.
    if(covertype==0 && excess==250 && ncd==false)
       retval=1;
    if(covertype==0 && excess==250 && ncd==true)
        retval=2;
    if(covertype==0 && excess==100 && ncd==true)
        retval=3;
    if(covertype==0 && excess==100 && ncd==false)
        retval=4;
    // tpft
    if(covertype==1 && excess==100 && ncd==false)
	{
		thirdpartyquotesreturned=true;
        retval=5;
    }
    if(covertype==1 && excess==100 && ncd==true)
	{
		thirdpartyquotesreturned=true;
        retval=6;
	}
    if(covertype==1 && excess==250 && ncd==false)
	{
		thirdpartyquotesreturned=true;
        retval=7;
	}
    if(covertype==1 && excess==250 && ncd==true)
    {
    	thirdpartyquotesreturned=true;
        retval=8;
    }   
	if(thirdpartyquotesreturned==true)
	{
		  document.getElementById("tabcomp").style.display='';
          document.getElementById("tab").style.display='none';
	} 
    return retval;
}

function processtabs(obj)
{
if(searchrunning==false)
{	
   if(thirdpartyquotesreturned==false)
    {
        alert('Quote Information:\n\nNo 3rd party quotations have been returned.\n\nThank you.');
        document.getElementById("fullycomp").checked = true;
    }
    else
    {
        if(obj.id=='tabcomp' || obj.id =='thirdparty')
            {
                coverselected="3rd Party Fire & Theft";
                /*
                document.getElementById("tabcomp").style.display='none';
                document.getElementById("tab").style.display='none';
                document.getElementById("tabtpft").style.display='';
                */
                IsFullCompSelected=false;
                document.getElementById("thirdparty").checked = true;
            }
            else
            {
                document.getElementById("fullycomp").checked = true;
                IsFullCompSelected=true;
                coverselected="Fully Comprehensive"
                /*
                document.getElementById("tabcomp").style.display='';
                document.getElementById("tabtpft").style.display='none';
                */
            }
     }
     InsuranceOptionChanged();
}
else
{
	alert("Please wait until the searching is complete to change any options.")
}
}

// CALCULATE WHICH QUOTES SHOULD BE ON SCREEN CURRENTLY
function CheckSelectedOptions()
{
//window.status=coverselected;
var excess250=document.getElementById("excess250");
var excess100=document.getElementById("excess100");
var ncdprotection=document.getElementById("ncdprotection");

if(IsFullCompSelected==true)
      //  Fully Comp Page 1 to 4
     {
     
     if(thirdpartyquotesreturned==false)
     {
        document.getElementById("tab").style.display='none';
        document.getElementById("tabcomp").style.display='';
     }
     
     if(excess250.checked)
     {
         if(ncdprotection.checked)
            {selectedquotetype=2;}
         else
            {selectedquotetype=1;}
     }else{
                    // so either 3,4
        if(ncdprotection.checked)
            {selectedquotetype=3;}
        else
            {selectedquotetype=4;}
     }
}else{
        // 5+
         // TPFT
      if(excess250.checked)
      {
          if(ncdprotection.checked)
            {selectedquotetype=8;}
          else
            {selectedquotetype=7;}
      }else{
                // so either 3,4
          if(ncdprotection.checked)
            {selectedquotetype=6;}
          else
            {selectedquotetype=5;}
      }
}
//window.status ='current:'+selectedquotetype + '- isfullycomp' + IsFullCompSelected;
}


function ColorPrice()
{
    var retval='';
    if(coverselected.toString().indexOf("comp")>-1)
    {
        retval = 'prices';
    }else{
        retval='pricesblue';
    }
    return retval;
}   


function setOpacity(testObj,value) {
	testObj.style.opacity = value/10;
	testObj.style.filter = 'alpha(opacity=' + value*10 + ')';
}


function OpacityOfResults(value)
{
try{
setOpacity(document.getElementById("questions"),value);
setOpacity(document.getElementById("blueslice"),value);
setOpacity(document.getElementById("blueslice2"),value);
setOpacity(document.getElementById("blueslice3"),value);
}
catch(e){}
}


//////////////////////////////////// DISPLAY POPUP ////////////////////////////////////////////

function OpenSteppingStone(obj){
// Set the content and the link HREF
    var htmlcontent;
    OpacityOfResults(3);
    
    DealGuid=obj.id.toString().replace("BuyButtonImage-","")
    var linktofollow = document.getElementById("linkurl-" + DealGuid).value;
    var excess = document.getElementById("excess-" + DealGuid).innerHTML.split(":")[1];
    var ncd = document.getElementById("ncd-" + DealGuid).innerHTML.split(":")[1];
    var price = document.getElementById("price-" + DealGuid).innerHTML;
    var reference = document.getElementById("reference-" + DealGuid).value;
    var phonenumber = document.getElementById("secondaryNumber-" + DealGuid).value;
    var quoteguid='';
    if(excess==undefined){excess='call for details';}
    if(ncd==undefined){ncd='call for details';}
    if(reference==undefined || reference ==''){reference='no reference';}
    document.getElementById("partnername").innerHTML=document.getElementById("actualpartnername-" + DealGuid).innerHTML; 
    document.getElementById("partnerlogoimage").src = document.getElementById("partnerlogo-" + DealGuid).src.replace("100","200");
    if(parseInt(price)>9000)
    {
        price='<font size=2>call for price</font>';
    }
    htmlcontent=document.getElementById("steppingstonehtml-" + DealGuid).value;
    htmlcontent = htmlcontent.replace("[%covertype%]", coverselected);
    htmlcontent = htmlcontent.replace("[%excess%]", excess);
    htmlcontent = htmlcontent.replace("[%ncdprotection%]", ncd);
    htmlcontent = htmlcontent.replace("[%price%]", price);
    htmlcontent = htmlcontent.replace("[%reference%]", reference);
    htmlcontent = htmlcontent.replace("[%phonenumber%]", phonenumber);
    
    var objtopop = GetDetailsFromQuoteObjects(DealGuid,selectedquotetype);
    if(objtopop)
    {
        htmlcontent = htmlcontent.replace("[%username%]", objtopop.username);
        htmlcontent = htmlcontent.replace("[%password%]", objtopop.password);
        quoteguid = objtopop.quoteguid;
    }
    
    var partnername = document.getElementById("actualpartnername-" + DealGuid).innerText;
    if(!partnername){
        partnername = document.getElementById("actualpartnername-" + DealGuid).textContent 
    }
        
    htmlcontent = htmlcontent.replace("[%partnername%]",trim(partnername));
        
    document.getElementById("secondarynumber").innerHTML=phonenumber;
    document.getElementById("htmlSteppingStone").innerHTML=htmlcontent.replace('id="Div','id="divs');
    // show or hide buy button 
    if(linktofollow.indexOf("/")==-1)
    {
        document.getElementById("buypopon").style.display='none';
    }
    else
    {
      document.getElementById("transferpartnerurldata").value=trim(linktofollow);
      var linkaction = 'transfertopartner.aspx?ctype=' + escape(coverselected) + '&excess=' + escape(excess) + '&ncd=' + escape(ncd) + '&deal=' + DealGuid + '&quoteref='+reference + '&quoteguid=' + objtopop.quoteguid+'&pg=' + document.getElementById("personinternalGuid").value;
      document.getElementById("transfertopartnerform").action=linkaction;
      document.getElementById("buypopon").style.display='';
    }
    // Make dummy request to url for stats - ie has a limit hence then try/catch
     MakeRequest('viewingquotedetails.aspx?ctype=' + escape(coverselected) + '&excess=' + escape(excess) + '&ncd=' + escape(ncd) + '&deal=' + DealGuid +'&pg=' + document.getElementById('personinternalGuid').value + '&quoteref=' + reference +'&quoteguid=' + quoteguid);
    // Make dummy request to url for stats
    //---------------------------------------------------------------------------------------------
    YAHOO.example.container.overlay1 = new YAHOO.widget.Overlay("steppingstone", {fixedcenter : true,underlay:"shadow", visible:true,draggable:true, constraintoviewport:true,modal:true, width:"680px",height:"416px",zIndex:1000, effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.5} } );
	YAHOO.example.container.overlay1.render("example");
}
//////////////////////////////////// DISPLAY POPUP ////////////////////////////////////////////


//////////////////////////////////// OPEN PRINT DIALOG ////////////////////////////////////////////
function openprintdialogue()
{
    YAHOO.example.container.overlay1 = new YAHOO.widget.Overlay("choosestylesheet", {fixedcenter : true,underlay:"shadow",  monitorresize: false, iframe : false, visible:true,draggable:true, constraintoviewport:true,modal:true, width:"580px",height:"229px",zIndex:1000, effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.5} } );
	YAHOO.example.container.overlay1.render("example");
}          
function printscreen(typeofprint)
{
 var bodyContent = Sys.Serialization.JavaScriptSerializer.serialize(FinalQuoteResultsObjects);
 document.getElementById("json").value=bodyContent;
 document.getElementById("printtype").value=typeofprint;
 document.getElementById("printform").submit();
}
//////////////////////////////////// OPEN PRINT DIALOG ////////////////////////////////////////////


function ProcessCompletedList()
{
//populate the objects for the email.
    for(var i=0;i<MoveArray.length;i++)
    {   
        if(MoveArray[i].price.indexOf(".")>-1)
        {
            var myguid = document.getElementById('Div'+MoveArray[i].index).getElementsByTagName('TABLE')[0].id.replace("wholepartner-","");
            var ResultQuoteMini = getFinalQuoteResult(myguid);
            ResultQuoteMini.Price=MoveArray[i].price;
            ResultQuoteMini.Position=i.toString();
            ResultQuoteMini.BuyLink=document.getElementById('linkurl-' + myguid).value;
            ResultQuoteMini.TelephoneNumber=document.getElementById('secondaryNumber-' + myguid).value;
            ResultQuoteMini.TPPrice=GetPriceForQuoteType(myguid,7);
            ResultQuoteMini.TPPriceNCDProtected=GetPriceForQuoteType(myguid,8);
            ResultQuoteMini.PriceNCDProtected=GetPriceForQuoteType(myguid,2);
            ResultQuoteMini.QuoteRef=GetReference(myguid,1);
        }
    }
}



//======================================================================================================
// TempWinList - is the json elements to update
//======================================================================================================


var sentquotetypes="";
var quotelist;

function getPositionForGuid(inguid)
{
    var retval=-1;
    
    for(var j=0;j<MoveArray.length;j++)
    {
        var myguid = document.getElementById('Div'+MoveArray[j].index).getElementsByTagName('TABLE')[0].id.replace("wholepartner-","");
          
        if(myguid==inguid)
        {
            retval=j;
            break;
        }
    }
    return retval;
}
//function getQuote(guid)
//{
//    for(p=0;p<quotelist.length;p++)
//    {
//        if(quotelist[p].dealguid==guid)
//        {
//            return  quotelist[p];
//        }
//    }
//    return null;
//}

function getQuoteOptionGuid()
{
    for(x=0;x<quotelist.length;x++)
    {
        if(quotelist[x].quoteoptionguid!=null)
        {
            return quotelist[x].quoteoptionguid;
        }
    }
    return null;
}

function GetPartnerQuoteForDealGuid(dealguid,selectedquotetype)
{
    var f;
    var retval=null;
    var matchedquote=null;
    for(f=0;f<partnerCollection.length;f++)
    {
      matchedquote = partnerCollection[f].find(selectedquotetype);
      if(matchedquote)
        {
        if(matchedquote.dealguid)
          {
          if(matchedquote.dealguid==dealguid)
            {
            retval=matchedquote;
            break;
            }
          }  
        }
    }
    return retval;
}

//////////////////////////////////// SEND VIEWED OPTIONS BACK USING AJAX ////////////////////////////////////////////

function get_random()
{
    var ranNum= Math.floor(Math.random()*5);
    return ranNum;
}

function SendChangedResultList()
{
    var QuoteOptionGuid='';
    quotelist = GetAllForQuoteType(selectedquotetype);
    for(var i=0;i<TempWinList.length;i++)
    {    
          var quotereturned;
          quotereturned = GetPartnerQuoteForDealGuid(TempWinList[i].DealGuid,selectedquotetype);
          if(QuoteOptionGuid==''){QuoteOptionGuid=getQuoteOptionGuid();}
          TempWinList[i].Position = getPositionForGuid(TempWinList[i].DealGuid);  
          var ValidObject=(quotereturned==null);
          if(quotereturned==null)
          {
              TempWinList[i].QuoteGuid = "00000000-0000-0000-0000-000000000000";
          }else{
              TempWinList[i].QuoteGuid = quotereturned.quoteguid; 
          }
          TempWinList[i].QuoteOptionGuid=QuoteOptionGuid;
          quotereturned=null;
    }
     if(TempWinList[0].QuoteOptionGuid)
     {
         var wRequest =  new Sys.Net.WebRequest();
         var bodyContent = Sys.Serialization.JavaScriptSerializer.serialize(TempWinList);
         wRequest.set_url("/generic/sendchangedwinlist.aspx?guid=" + personinternalGuid + '&rand='+ get_random().toString()+ get_random().toString()+ get_random().toString()+ get_random().toString() + '&ref=' + friendlyreference);
         wRequest.set_httpVerb("POST");
         wRequest.set_body(bodyContent);
         wRequest.get_headers()["Content-Length"]=bodyContent.toString().length;     
         var executor = new Sys.Net.XMLHttpExecutor();        
         wRequest.set_executor(executor); 
         executor.executeRequest(); 
     }
}

//////////////////////////////////// SEND VIEWED OPTIONS BACK USING AJAX ////////////////////////////////////////////



