
var curCounty = '';
var curCsort = null;
var curRsort = null;
var curCompId = '';

function getLongDate (mydate){

    var month="";
    switch(mydate.getMonth()){
        case 0:month="January";break;
        case 1:month="Febuary";break;
        case 2:month="March";break;
        case 3:month="April";break;
        case 4:month="May";break;
        case 5:month="June";break;
        case 6:month="July";break;
        case 7:month="August";break;
        case 8:month="September";break;
        case 9:month="October";break;
        case 10:month="November";break;
        case 11:month="December";break;
    }
    return (month + ' ' + mydate.getDate() + ', ' + mydate.getFullYear());
}

function ShowData(county){

    document.getElementById("county_list").style.visibility="hidden";

    var rate_tbl = document.all ? document.all["rate_tbl"]:document.getElementById("rate_tbl");
    
    //Clear table contents
    clearTableRows(rate_tbl);
    
    //Create window title bar
    var new_row = rate_tbl.insertRow(rate_tbl.rows.length);
    var new_cell = new_row.insertCell(0);
    new_cell.colSpan=3; new_cell.align='right'; new_cell.className="windowbar"; new_cell.vAlign="middle";
    new_cell.innerHTML = '<font color=white><strong>Printer Friendly Format -></strong>&nbsp;</font><a href="HOCountyRates300_Print.htm" title="Click to open printable view" target="CountyPrint"><img src="print.gif" width=17 height=17 border=0></a><a href="javascript:closeWindow(\'county_list\');">&nbsp;&nbsp;&nbsp;&nbsp;<img src="CloseWindow2.gif" border=0></a>';
    //new_cell.innerHTML = '<a href="HOCountyRates300_Print.htm"><img src="Print.gif" border=0></a><a href="javascript:closeWindow(\'county_list\');">&nbsp;&nbsp;&nbsp;<img src="CloseWindow2.gif" border=0></a>';

    //Create County name row
    var new_row = rate_tbl.insertRow(rate_tbl.rows.length);
    var new_cell = new_row.insertCell(0);
    new_cell.colSpan=3; new_cell.align='center';new_cell.className="rowDataCenterBig";
    new_cell.innerHTML = '<strong>' + county + ' County </strong>';

    //Create header row
    var new_row = rate_tbl.insertRow(rate_tbl.rows.length);
    var new_cell = new_row.insertCell(0); new_cell.className='columnHeadingCenterCenter'; new_cell.innerHTML = '<strong>#</strong>';
    new_cell.bgColor="#cccccc";
    var new_cell = new_row.insertCell(1); new_cell.className='columnHeadingLeft'; new_cell.width='350px'; new_cell.innerHTML = '<strong>Company Name</strong>';
    new_cell.bgColor="#cccccc";
    var new_cell = new_row.insertCell(2); new_cell.className='columnHeadingCenterCenter'; new_cell.width='50px'; new_cell.innerHTML = '<strong>Rate</strong>';
    new_cell.bgColor="#cccccc";
    
    var jMyCompRate = new Array();
    for (i=0;i<jCountyRates.length;i++){
        if (jCountyRates[i].CountyName.toUpperCase() == county.toUpperCase()){
            jMyCompRate = jCountyRates[i].CompRate;
            break;
        }
    }
    
    //Sort Rates
    //jMyCompRate.sort(sortByRateDesc);
    jMyCompRate.sort(sortByRate);
    
    //Populate data rows
    var bHighlight = false;
    var j=1;
    
    for (i=0;i<jMyCompRate.length;i++){
    
        if (jMyCompRate[i].Rate > 0)
        {
		    if (jMyCompRate[i].NewBusiness == 99)
			    bHighlight = true;
		    else
			    bHighlight = false;

            var new_row = rate_tbl.insertRow(rate_tbl.rows.length);
            
            var new_cell = new_row.insertCell(0);
            new_cell.className='rowDataCenterCenter';
            new_cell.innerHTML = j;
            if (bHighlight) new_cell.bgColor="#ffff66";
            
            var new_cell = new_row.insertCell(1);
            new_cell.className='rowDataLeft';
            new_cell.width='350px';
            new_cell.innerHTML = '<a href="javascript:ShowMoreData(\''+ jMyCompRate[i].CompanyId + '\');">' + jMyCompRate[i].CompanyName + '</a>';
            if (bHighlight) new_cell.bgColor="#ffff66";
           
            var tmpComp = jMyCompRate[i].CompanyName.replace(/\'/g,'~');
                        
            var new_cell = new_row.insertCell(2);
            new_cell.className='rowData'; 
            new_cell.width='50px';
            new_cell.align='right';
            new_cell.innerHTML = '<a href="javascript:ShowAllCompanyRates(\'' + tmpComp + '\',\''+ jMyCompRate[i].CompanyId + '\',\'' + county + '\',1,-1);">' + formatCurrency(jMyCompRate[i].Rate) + '</a>';
            if (bHighlight) new_cell.bgColor="#ffff66";
            j++;
        }
    }
    
    //Finally display the rate data table and hide the contact info
    var new_left = ((document.body.clientWidth)-799)/2 + 10;
    
    
    switch (screen.Width){
        case 800:
            document.getElementById("county_list").style.left=10;
            document.getElementById("legend").style.left=10;
        break;
        case 1024:
            document.getElementById("county_list").style.left=120;
            document.getElementById("legend").style.left=120;
        break;
        case 1280:
            document.getElementById("county_list").style.left=255;
            document.getElementById("legend").style.left=255;
        break;
        case 1400:
            document.getElementById("county_list").style.left=310;
            document.getElementById("legend").style.left=310;
        break;
        case 1600:
            document.getElementById("county_list").style.left=410;
            document.getElementById("legend").style.left=410;
        break;
        case 1920:
            document.getElementById("county_list").style.left=410;
            document.getElementById("legend").style.left=410;
        break;
    }
    document.getElementById("county_list").style.top='600px';
    document.getElementById("county_list").style.left=new_left;
    document.getElementById("legend").style.left=new_left;

    document.getElementById("county_list").style.visibility="visible";
    document.getElementById("legend").style.visibility="hidden";
    document.getElementById("contact_info").style.visibility="hidden";
    document.getElementById("comp_rate").style.visibility="hidden";
    curCounty = county;
}

function ShowMoreData(comp_id){

    document.getElementById("contact_info").style.visibility="hidden";

    var contact_tbl = document.all ? document.all["contact_tbl"]:document.getElementById("contact_tbl");

    //Clear table contents
    clearTableRows(contact_tbl);

    //Create window title bar
    var new_row = contact_tbl.insertRow(contact_tbl.rows.length);
    var new_cell = new_row.insertCell(0);
    new_cell.colSpan=2; new_cell.align='right'; new_cell.className="windowbar";
    if (comp_id == 1)
        new_cell.innerHTML = '<a href="javascript:closeWindow(\'contact_info\');"><img src="CloseWindow2.gif" border=0></a>';
    else    
        new_cell.innerHTML = '<strong><font color=white>NOTE: This company may not be writing in this county.</font></strong>&nbsp;&nbsp;&nbsp;<a href="javascript:closeWindow(\'contact_info\');"><img src="CloseWindow2.gif" border=0></a>';

    for (i=0;i<jCompanyInfo.length;i++){
        if (jCompanyInfo[i].CompanyId == comp_id){

        var new_row = contact_tbl.insertRow(contact_tbl.rows.length);
        var new_cell = new_row.insertCell(0); new_cell.className='columnHeadingRight'; new_cell.innerHTML = "Company Name:";new_cell.bgColor="#cccccc";
        var new_cell = new_row.insertCell(1); new_cell.className='rowDataLeft'; new_cell.innerHTML = jCompanyInfo[i].CompanyName;

        var new_row = contact_tbl.insertRow(contact_tbl.rows.length);
        var new_cell = new_row.insertCell(0); new_cell.className='columnHeadingRight'; new_cell.innerHTML = "Address:";new_cell.bgColor="#cccccc";
        if (jCompanyInfo[i].City == ''){
            var new_cell = new_row.insertCell(1); new_cell.className='rowDataLeft'; new_cell.innerHTML = jCompanyInfo[i].Address;
        }
        else{
            var new_cell = new_row.insertCell(1); new_cell.className='rowDataLeft'; new_cell.innerHTML = jCompanyInfo[i].Address + '<br>' + jCompanyInfo[i].City + ", " + jCompanyInfo[i].State + "  " + jCompanyInfo[i].Zip;
        }
//        var new_row = contact_tbl.insertRow(contact_tbl.rows.length);
//        var new_cell = new_row.insertCell(0); new_cell.className='columnHeadingRight'; new_cell.innerHTML = "&nbsp";new_cell.bgColor="#cccccc";
//        var new_cell = new_row.insertCell(1); new_cell.className='rowDataLeft'; new_cell.innerHTML = jCompanyInfo[i].City + ", " + jCompanyInfo[i].State + "  " + jCompanyInfo[i].Zip;

        var new_row = contact_tbl.insertRow(contact_tbl.rows.length);
        var new_cell = new_row.insertCell(0); new_cell.className='columnHeadingRight'; new_cell.innerHTML = "Phone:";new_cell.bgColor="#cccccc";
        var new_cell = new_row.insertCell(1); new_cell.className='rowDataLeft'; new_cell.innerHTML = jCompanyInfo[i].Phone;

        var new_row = contact_tbl.insertRow(contact_tbl.rows.length);
        var new_cell = new_row.insertCell(0); new_cell.className='columnHeadingRight'; new_cell.innerHTML = "Website:";new_cell.bgColor="#cccccc";
        var new_cell = new_row.insertCell(1); new_cell.className='rowDataLeft';
        
        if ((jCompanyInfo[i].Website == "N/A") || (jCompanyInfo[i].Website == "Under Construction"))
            new_cell.innerHTML = jCompanyInfo[i].Website;
        else
            new_cell.innerHTML = "<a target=_blank href='" + jCompanyInfo[i].Website + "'>" + jCompanyInfo[i].Website + "</a>";
       
        }
    }

    var new_left = (document.body.clientWidth / 2) - 300;

    switch (screen.Width){
        case 800:
            document.getElementById("contact_info").style.left=100;
        break;
        case 1024:
            document.getElementById("contact_info").style.left=200;
        break;
        case 1280:
            document.getElementById("contact_info").style.left=320;
        break;
        case 1400:
            document.getElementById("contact_info").style.left=400;
        break;
        case 1600:
            document.getElementById("contact_info").style.left=500;
        break;
    }

    document.getElementById("contact_info").style.left=new_left;
    document.getElementById("contact_info").style.visibility="visible";
    
}


function ShowAllCompanyRates(company, company_id, county, csort, rsort){

    curCsort = csort;
    curRsort = rsort;

    document.getElementById("comp_rate").style.visibility="hidden";

    company = company.replace(/~/g,"'");

    var comp_rate_tbl = document.all ? document.all["comp_rate_tbl"]:document.getElementById("comp_rate_tbl");
    
    //Clear table contents
    clearTableRows(comp_rate_tbl);
    
    //Create window title bar
    var new_row = comp_rate_tbl.insertRow(comp_rate_tbl.rows.length);
    var new_cell = new_row.insertCell(0);
    new_cell.colSpan=3; new_cell.align='right'; new_cell.className="windowbar";
    new_cell.innerHTML = '<a href="javascript:closeWindow(\'comp_rate\');"><img src="CloseWindow2.gif" border=0></a>';
    //new_cell.innerHTML = '<font color=white><strong>Printer Friendly Format -></strong>&nbsp;</font><a href="HOCompanyRatesAll300_Print.htm" title="Click to open printable view" target="CountyPrint"><img src="print.gif" width=17 height=17 border=0></a>&nbsp;&nbsp;&nbsp;<a href="javascript:closeWindow(\'comp_rate\');"><img src="CloseWindow2.gif" border=0></a>';

    //Create County name row
    var new_row = comp_rate_tbl.insertRow(comp_rate_tbl.rows.length);
    var new_cell = new_row.insertCell(0);
    new_cell.colSpan=3;new_cell.className="rowDataCenterBig";
    new_cell.innerHTML = '<strong>' + company + '</strong>';

    
    var jMyCountyRate = new Array();
    var k=-1;
    for (i=0;i<jCountyRates.length;i++){
        for (j=0;j<jCountyRates[i].CompRate.length;j++){
            if (jCountyRates[i].CompRate[j].CompanyId == company_id){
                jMyCountyRate[++k] = new CountyInfo2(jCountyRates[i].CountyName,jCountyRates[i].CompRate[j].Rate,jCountyRates[i].CompRate[j].NewBusiness);
            }
        }
    }

    //Sort Rates
    switch (csort){
    case 1:
        jMyCountyRate.sort(sortByCounty);
        csort=2;
        //rsort=1;
        break;

    case 2:
        jMyCountyRate.sort(sortByCountyDesc);
        csort=1;
        //rsort=1;
        break;
    }

    switch (rsort){
    case 1:
        jMyCountyRate.sort(sortByCompRate);
        //csort=1;
        rsort=2;
        break;

    case 2:
        jMyCountyRate.sort(sortByCompRateDesc);
        //csort=1;
        rsort=1;
        break;
    }
    
    if (csort==-1) csort=1;
    if (rsort==-1) rsort=1;

    //Create header row
    var new_row = comp_rate_tbl.insertRow(comp_rate_tbl.rows.length);
               
    var tmpComp = company.replace(/\'/g,'~');
                
    var new_cell = new_row.insertCell(0); new_cell.className='columnHeadingLeft'; new_cell.width='250px'; new_cell.innerHTML = '<a href="javascript:ShowAllCompanyRates(\'' + tmpComp + '\',\''+ company_id + '\',\'' + county + '\','+ csort+ ',-1);">County Name</a>';
    new_cell.bgColor="#cccccc";
    var new_cell = new_row.insertCell(1); new_cell.className='columnHeadingCenterCenter'; new_cell.width='50px'; new_cell.innerHTML = '<a href="javascript:ShowAllCompanyRates(\'' + tmpComp + '\',\''+ company_id + '\',\'' + county + '\',-1,'+ rsort + ');">Rate</a>';
    new_cell.bgColor="#cccccc";
    
    //Populate data rows
    var bHighlight = false;
    var strClass = '';
    for (i=0;i<jMyCountyRate.length;i++){
        if (jMyCountyRate[i].CompRate > 0)
        {
		    if (jMyCountyRate[i].NewBusiness == 99)
			    bHighlight = true;
		    else
			    bHighlight = false;
        
            if(jMyCountyRate[i].CountyName.toUpperCase()==county.toUpperCase())
                strClass = 'rowDataBold';
            else
                strClass = 'rowData';

            var new_row = comp_rate_tbl.insertRow(comp_rate_tbl.rows.length);
            var new_cell = new_row.insertCell(0); new_cell.align = "left"; new_cell.className=strClass; new_cell.width='320px'; new_cell.innerHTML = jMyCountyRate[i].CountyName;
            if (bHighlight) new_cell.bgColor="#ffff66";
            var new_cell = new_row.insertCell(1); new_cell.align = "right"; new_cell.className=strClass; new_cell.width='40px'; new_cell.innerHTML = formatCurrency(jMyCountyRate[i].CompRate);
            if (bHighlight) new_cell.bgColor="#ffff66";
        }
    }
    
    //Finally display the table and hide the contact info
    var new_left = (document.body.clientWidth / 2)+15;
        
    switch (screen.Width){
        case 800:
            document.getElementById("comp_rate").style.left=375;
        break;
        case 1024:
            document.getElementById("comp_rate").style.left=485;
        break;
        case 1280:
        break;
        case 1400:
            document.getElementById("comp_rate").style.left=680;
        break;
        case 1600:
            document.getElementById("comp_rate").style.left=775;
        break;
    }
    
    curCompId = company_id;
    
    document.getElementById("comp_rate").style.left=new_left;
    document.getElementById("comp_rate").style.visibility="visible";

}


function clearTableRows(table){
	var rowIndex = table.rows.length;
	for (j=rowIndex-1;j>=0;j--){
		table.deleteRow(j);
	}
}	
		
function clearRowCells(row){
	var cellIndex = row.cells.length;
	cellIndex=5;
	for (j=cellIndex-1;j>=0;j--){
		row.deleteCell(j);
	}
}	

function closeWindow(my_div){
    document.getElementById(my_div).style.visibility="hidden";
    if(my_div=='county_list')
        document.getElementById('legend').style.visibility="hidden";
}

function formatCurrency(num) {
    num = num.toString().replace(/\$|\,/g,'');
    if(isNaN(num))
        num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num*100+0.50000000001);
    cents = num%100;
    num = Math.floor(num/100).toString();
    if(cents<10)
        cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
        num = num.substring(0,num.length-(4*i+3))+','+
        num.substring(num.length-(4*i+3));
    //return (((sign)?'':'-') + '$' + num + '.' + cents);
    return (((sign)?'':'-') + '$' + num);
}

function sortByRate(a, b) {
    var x = a.Rate;
    var y = b.Rate;
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

function sortByRateDesc(a, b) {
    var x = a.Rate;
    var y = b.Rate;
    return ((x > y) ? -1 : ((x < y) ? 1 : 0));
}

function sortByCounty(a, b) {
    var x = a.CountyName;
    var y = b.CountyName;
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

function sortByCountyDesc(a, b) {
    var x = a.CountyName;
    var y = b.CountyName;
    return ((x > y) ? -1 : ((x < y) ? 1 : 0));
}

function sortByCompRate(a, b) {
    var x = a.CompRate;
    var y = b.CompRate;
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

function sortByCompRateDesc(a, b) {
    var x = a.CompRate;
    var y = b.CompRate;
    return ((x > y) ? -1 : ((x < y) ? 1 : 0));
}
