
//var discount = 1;
var select_product_class_count = 0;

var wlwl = 0;
var admission_doctypes = {
		142: 1,
        143: 1,
        144: 1, 
        145: 1,
        154: 1,
        223: 1
        };

var doctypeToFeatures = {
        51: 0, 124: 0, 125: 0, 126:0, 139:0,
        142: 2, 143: 2, 144: 2,
        3: 3, 81: 3, 152: 3, 156: 3, 157: 3, 158: 3, 159: 3,
        145: 4, 154: 4, 182 : 182
    };

var cookie_not_doctypes = {
            
        };

var use_popups_to_doctypes = [0,13,14,37,39,38,85,84,168,169,171,51,125,126,124,139,170,173,80,83,220,234];

var wr_premium_choise1 = {0:0,13:13,14:14,37:37,38:38,39:39,80:80,83:83,84:84,85:85,168:168,169:169,170:170,171:171,173:173};
var wr_premium_choise2 = {124:124,234:234};
var wr_master_choise1 = {1:1,15:15,40:40,172:172,146:146,147:147,148:148,149:149,150:150,151:151};
var free_vas_description = {
    '183':'<strong class=\'vas_free\'>FREE:</strong> VIP Support is included',
    '187':'<strong class=\'vas_free\'>FREE:</strong> your order is proofread by an editor',
    '185':'<strong class=\'vas_free\'>FREE:</strong> your order is prepared by one of the top 10 writers in your subject area',
    '231':'The most popular choice',
    '232':'The best value'
};

if( typeof(selected_curr) == 'undefined' )
	selected_curr = 'USD';

if( typeof(cookielevel) == 'undefined' ) cookielevel = false;



function priceOfItem(doctype_id, urg, wr_level, category_id, pages, papers) 
{
    //if (!(papers>0)) papers = 1;

	if( pages && limitList[doctype_id] && limitList[doctype_id][urgHours[doctype_id][urg]] )
		if( 
			( !( urgHours[doctype_id][urg] 
						&& 
						( urgHours[doctype_id][urg]/pages ) >= limitList[doctype_id][urgHours[doctype_id][urg]][wr_level] )	
						&&
						( limitList[doctype_id][urgHours[doctype_id][urg]][wr_level]!=null )
			)
		)
		{
			return '';
		}

//	else return urgHours[doctype_id][urg];
	curr_rate = currency_rates[selected_curr];
    
	if (doctypes[doctype_id].prices[urg][wr_level][0]) {
    	t = doctypes[doctype_id].prices[urg][wr_level];
		maxm = t[0][1];
		price = t[0][2];
		//alert(maxm+' - '+price+' - '+pages+' - '+papers);
        
        for (g in t) 
        {
            //alert(t[g][0]+' - '+t[g][1]+' - '+t[g][2]);
			if (t[g][0]>=maxm) {maxm = t[g][0];price = t[g][2];}
			
			if ( (pages >= t[g][0] && pages <= t[g][1]) ||
					(pages >= t[g][0] && 0 == t[g][1])
			     ) 
            {
				return (Math.round(t[g][2] * pages * 100 * curr_rate) / 100).toFixed(2);
			}
		}
		return (Math.round(price * pages * 100 * curr_rate) / 100).toFixed(2);
	} else {
		koef = 1;
        pp = 1;
        if(admission_doctypes[doctype_id] == 1) { 
            pp = papers;
            if (papers < 2) {koef = 1;} else 
		    if (papers < 4) {koef = 0.95;} else 
		    if (papers < 6) {koef = 0.9;} else 
					    {koef = 0.85;}
        } else {
		    if (pages < 15) {koef = 1;} else 
		    if (pages < 51) {koef = 0.95;} else 
		    if (pages < 101) {koef = 0.9;} else 
					    {koef = 0.85;}
        }
        
		discount = koef;
        price = doctypes[doctype_id].prices[urg][wr_level];
        if (!(doctype_id in nonTechDoctypes) && (category_id in techCategories))
        {
            price += 10 / currency_rates['USD'];
        }
		return (Math.round(koef * pp * pages * price * 100 * curr_rate) / 100).toFixed(2);
	}
}


function genTable(doctype_id, pages_count, papers, lvl) 
{
	if (!(pages_count>0)) pages_count = 1;
    if (!(papers>0)) papers = 1;

	spcc = select_product_class_count;
	is_selDt = document.getElementById('selDoctype').type != 'hidden';
	spClass = ' price_with_sel_pages';
	_price_with_sel_pages = '';
    
    pages_num = '';
    if(pages_count > 1) pages_num = '&numpages='+pages_count; 
    papers_num = '';
    if(papers > 1) papers_num = '&numpapers='+papers;


	if( ( ( spcc == 1 && is_selDt ) || ( spcc == 2 && !is_selDt ) ) && document.getElementById( 'price_tabs' ) )
	{
		document.getElementById( 'price_tabs' ).className = 'tabs tabs_with_sel_pages';
		_price_with_sel_pages = spClass;
	}
	else if( spcc == 2 && is_selDt && document.getElementById( 'price_tabs' ) )
	{
		document.getElementById( 'price_tabs' ).className = 'tabs tabs_with_sel_pages2';
		_price_with_sel_pages = spClass + '2'
	}
	else if( spcc == 3 && is_selDt && document.getElementById( 'price_tabs' ) )
	{
		document.getElementById( 'price_tabs' ).className = 'tabs tabs_with_sel_pages3';
		_price_with_sel_pages = spClass + '3'
	}
    else
    {
        if ( typeof(j_sid) != 'undefined' )
        {
            if ( j_sid == 91 )
            {
                var appl = document.getElementById('tr_papers');
                var applIsVisible = appl.style.display;
                if ( applIsVisible == '' )
                {
                    document.getElementById( 'price_tabs' ).style.marginTop = -150 + 'px';
                    document.getElementById( 'for_prices' ).style.marginTop = 75 + 'px';
                }
            }
        }
    }

    category_id = 0;
    if (!(doctype_id in nonTechDoctypes))
    {
        document.getElementById('tr_categories').style.display = '';
        category_id = document.getElementById('sel_cat').value;
    }
    else
    {
        document.getElementById('tr_categories').style.display = 'none';
    }
	pricesTable = document.createElement('table');
	pricesTable.className = 'prices' + _price_with_sel_pages;


	pricesTable.id        = 'prices';
	pricesTable.cellSpacing = '3';
    pricesTable.cellPadding = '0';
	hr = document.createElement('tr');
	pricesTable.appendChild(hr);
	
	th1 = document.createElement('th');

	levels_count = 0;
	if (doctypes && doctypes[doctype_id] && doctypes[doctype_id]['q_levels'])
		for (tt in doctypes[doctype_id]['q_levels']) {levels_count++;}
	col_width = Math.round(100/(levels_count+1))+'%';

	th1.width = col_width;
	hr.appendChild(th1);


    //console.log(doctypes);
    //alert('as');

    if (levels_count>1 && levels_count<=3)
    {
        img = document.createElement('img');
		th1.appendChild(img);
		th1.className = 'th_urgency_title';
		img.src = '/images/urwrl.gif';
	} 
    else
    {
		img = document.createElement('img');
		th1.className = 'th_urgency_title';
		th1.appendChild(img);
		img.src = '/images/urwrl_prices.gif';
        //th1.innerHTML = '<span>Urgency</span>';
	}
	
    
    /*if(count_wr_level_td>0)
		td_count = count_wr_level_td;
	else td_count = 3;*/
    //alert(levels_count);
    if(levels_count>6)
    {
            if(wlwl > 0) {
                th = document.createElement('th');
		        th.width = col_width;
                th.valign = 'middle';
		        hr.appendChild(th);
                str_wrlevel = doctypes[doctype_id]['q_levels'][wlwl];
		        th.innerHTML = '<span>'+str_wrlevel+'</span>';

            } else {
                th = document.createElement('th');
		        th.width = col_width;
		        hr.appendChild(th);
                
                sel = document.createElement('select');
                sel.name = 'level_choice';
                sel.id = 'level_choice';
                sel.setAttribute('onChange', 'ch_lvl()')
                //sel.name = 'level_choice';
                for (wr_level in doctypes[doctype_id]['q_levels']) {
                    op = document.createElement('option');
                    op.value =  wr_level;
                    op.innerHTML = doctypes[doctype_id]['q_levels'][wr_level]; 
                    if(wr_level == lvl) op.selected = true
                    sel.appendChild(op); 
                }
                th.appendChild(sel);
            }
    } 
    else
    {
        if(wlwl > 0) {
            th = document.createElement('th');
		    th.width = col_width;
            th.valign = 'middle';
		    hr.appendChild(th);
            str_wrlevel = doctypes[doctype_id]['q_levels'][wlwl];
            if (cookielevel)
            {
                if ( !cookie_not_doctypes[doctype_id] && (str_wrlevel == 'Specialized' || str_wrlevel == 'Specialized Math/Law/Biology/Finance' || str_wrlevel == '') )
                {
                    str_wrlevel = 'Platinum';
                }
            }
            if(str_wrlevel == '' || (levels_count==1 && admission_doctypes[document.getElementById('selDoctype').value] != 1)) str_wrlevel = 'Prices';
		    th.innerHTML = '<span>'+str_wrlevel+'</span>';
        } else {
            _count = 1;
			if (doctypes && doctypes[doctype_id] && doctypes[doctype_id]['q_levels'])
	        for (wr_level in doctypes[doctype_id]['q_levels'])
            {
                th = document.createElement('th');
		        th.width = col_width;
		        hr.appendChild(th);
                
                str_wrlevel = doctypes[doctype_id]['q_levels'][wr_level];
                if (cookielevel)
                {
                    if ( !cookie_not_doctypes[doctype_id] && (str_wrlevel == 'Specialized' || str_wrlevel == 'Specialized Math/Law/Biology/Finance') )
                    {
                        str_wrlevel = 'Platinum';
                    }
                }                                

                doctype_id = 0;
                doctype_elem = document.getElementById('selDoctype');
                if (doctype_elem != null)
                {
                    doctype_id = document.getElementById('selDoctype').value;
                }

                bul_str = '';
                wr_choise = '';               
                if (
                    (doctype_id in wr_premium_choise1) && ((wr_level == 2) || (wr_level == 28)) ||
                    ((doctype_id in wr_master_choise1) && (wr_level == 20)) ||
                    ((doctype_id in wr_premium_choise2) && (wr_level == 29))
                    )
                {
                    var IE='\v'=='v';
                    if(IE) {
                        bul_str = '<img src="/images/wr_level_premium_bul.gif" alt=""/>';
                    }else{
                        bul_str = '<img src="/images/wr_level_premium_bul.png" alt=""/>';
                    }
                    wr_choise = ' wr_1_choise';
                }                
                //alert(wr_choise);
                if(str_wrlevel == '' || (levels_count==1 && admission_doctypes[document.getElementById('selDoctype').value] != 1)) str_wrlevel = 'Prices';
		        th.innerHTML = '<span >' + str_wrlevel + bul_str  + '</span>';
				th.className = 'th_product_title' + _count +  wr_choise;
				th.id = 'th_product_title' + _count;
				th.valign = 'middle';
				var use_popup_description = false;
				for (key in use_popups_to_doctypes) 
				{
					if (use_popups_to_doctypes[key] == doctype_id) 
					{                
						use_popup_description = true;
					}
				}
				
				popup_description_elem = document.getElementById('level-' + doctypeToQuality[doctype_id] + '-' + _count);
				
				if ( document.getElementById('wrlevel_new_desc') != null )
				{
					document.getElementById('wrlevel_new_desc').style.display = 'none';
				}
				
				if( popup_description_elem != null && use_popup_description )
				{
					if ( typeof(show_new_wrlevel_desc) == 'undefined' )
					{
						show_new_wrlevel_desc = 0;
					}
					
					if ( !show_new_wrlevel_desc || doctype_id == 51 || doctype_id == 125 || doctype_id == 126 )
					{
						descript = document.getElementById('level-' + doctypeToQuality[doctype_id] + '-' + _count).innerHTML.split('\n');
						descript = descript.join('');
						
						th.setAttribute("onmouseover","Tip('<div id=\"WrLevelToolTip\"><div id=\"tooltip_body\"><span style=\"font-weight:bold;\">' + '" + th.innerHTML + "' + '</span><br/>' + '" + descript + "' + '</div><div id=\"tooltip_footer\"></div></div>',BORDERWIDTH, 0, WIDTH, 247, BGCOLOR, '', PADDING,0)");
						th.setAttribute("onmouseout","UnTip()");
						
						th.innerHTML += '<span id="wr_level_tooltip_shortcut">&nbsp;[?]</span>';
					}
					else if ( document.getElementById('wrlevel_new_desc') != null )
					{
						document.getElementById('wrlevel_new_desc').style.display = '';
					}
				}
				
				_count ++;
	        }
        }
    }
    
	i = 0;
	if (doctypes && doctypes[doctype_id] && doctypes[doctype_id]['ur_levels_h'])

	for (urg in doctypes[doctype_id]['ur_levels_h']) {
		old_urg = urg; 
		urg = doctypes[doctype_id]['ur_levels_h'][urg];
		i++;
		tr = document.createElement('tr');
		tr.className = i%2?'odd':'even';
		
		td = document.createElement('td');
		td.className = 'urgency';
		td.innerHTML = doctypes[doctype_id]['ur_levels'][urg];
		tr.appendChild(td);
		
        if(levels_count>6) {
            k = 0; 
            for (wr_level in doctypes[doctype_id]['q_levels']) {
                if(lvl != -1) k++;
                if(k == 0 || wr_level == lvl) {
			        td = document.createElement('td');
					prc_rez = priceOfItem(doctype_id, urg, wr_level, category_id, pages_count, papers);
                    td.className = 'wrlevel'+k;                    
			        td.innerHTML = 
			        (prc_rez ?
				    '<a href="/order.php?doctype='+doctype_id+'&order_category='+category_id+'&urgency='+urg+'&wrlevel='+wr_level+pages_num+papers_num+'&curr='+selected_curr+'">'+
					         ( currency_signes[selected_curr] + prc_rez ) +
				    '</a>'
				    : '-'  );
			        
			        tr.appendChild(td);
                }
                k ++;
		    } 
        } else {
		    for (wr_level in doctypes[doctype_id]['q_levels']) {
			    td = document.createElement('td');                            
                td.className = 'wrlevel'+wr_level;
				prc_rez = priceOfItem(doctype_id, urg, wr_level, category_id, pages_count, papers);
                if (doctypes[doctype_id]['free_vas']){
                    td.className = td.className + ' price_with_free_vas';
                }
                
                free_vas_str = '';
                free_vas_desc = '';
                if (doctypes[doctype_id]['free_vas'] && doctypes[doctype_id]['free_vas'][urg] && doctypes[doctype_id]['free_vas'][urg][wr_level]){
                       free_vas_desc += 'title="FREE - ';
                       for (free_vas_key in doctypes[doctype_id]['free_vas'][urg][wr_level]) {
                           free_vas_id = doctypes[doctype_id]['free_vas'][urg][wr_level][free_vas_key];
                           
                           free_vas_str +=
                           '<img src="/images/vaslogo/' +
                           free_vas_id +
                           '.gif" alt="' + free_vas_description[free_vas_id] + '" class="wrlevel_logo"/>';                           
                           free_vas_desc +=
                               '<img class=\'tooltip_img\' src=\'/images/vaslogo/' +
                           free_vas_id +
                           '.gif\' alt=\'\' />' + free_vas_description[free_vas_id] + '<br/><br/>';
                       }
                       free_vas_str += '<span class=\'clr\'></span>';
                       free_vas_desc += '"';                     
                }                
			    td.innerHTML = 
			    	(prc_rez ?
				    '<a class="buy_now tooltip" ' + free_vas_desc + ' href="/order.php?doctype='+doctype_id+'&order_category='+category_id+'&urgency='+urg+'&wrlevel='+wr_level+pages_num+papers_num+'&curr='+selected_curr+'">'+
					         ( currency_signes[selected_curr] + prc_rez ) +
                             '<span class="buy_now_text">&nbsp;BUY!</span>' +
                             free_vas_str +
				    '</a>'
				    : '-'  );
			    
			    tr.appendChild(td);
		    }
        }
		
		pricesTable.appendChild(tr);
	}
	
	return pricesTable;
}


function insertTable(element, doctype_id, pages_count, papers, lvl) {
	if (navigator.appName.indexOf('Microsoft Internet Explorer')>=0) {
		element.innerHTML = '';
        ee = genTable(doctype_id, pages_count, papers, lvl);
		element.innerHTML = ee.outerHTML;
		return;
	}
	try {
        element.removeChild(document.getElementById('prices'));
        e = genTable(doctype_id, pages_count, papers, lvl);
        element.appendChild(e);
	}
	catch(e) {
		element.innerHTML = '';
		ee = genTable(doctype_id, pages_count, papers, lvl);
		element.innerHTML = ee.outerHTML;
	}            
}
function filterInt(item) {
    if (item.value != parseInt(item.value))
    {
		if (parseInt(item.value) > 0)
        {
			item.value = parseInt(item.value);
		} 
        else
        {
			//item.value = 1;
		}
	} 
    else if (!(parseInt(item.value)>0))
    {
		//item.value = 1;
	}
}	
function doUpdatePagesText() {
	if (document.getElementById('tr_papers')) {
	    document.getElementById('tr_papers').style.display='none';
	}

    doctype_elem = document.getElementById('selDoctype');
    if (doctype_elem != null)
    {
        if(admission_doctypes[document.getElementById('selDoctype').value] == 1) {
            document.getElementById('tr_papers').style.display='';
            select_product_class_count++;
        }
        if (!(document.getElementById('selDoctype').value in nonTechDoctypes))
        {
            select_product_class_count++;
        }
    }
    
    texts = {
		0:   'Number of pages:',
		124: 'Number of problems:',
		139: 'Number of problems:',
		51:  'Number of slides:',
		125: 'Number of questions:',
        182: 'Number of assignments:'
	}
	texts[13]=texts[14]=texts[37]=texts[38]=texts[85]=texts[39]=texts[1]=texts[15]=texts[40]=texts[3]=
		texts[80]=texts[81]=texts[82]=texts[83]=texts[84] = texts[0];
	texts[126]=texts[125];

	doctype_id = document.getElementById('selDoctype').value;

	if (!(t = texts[doctype_id])) {t = texts[0];}

	if (document.getElementById('sel_pages_text')) {
		document.getElementById('sel_pages_text').innerHTML = t;
		select_product_class_count++;
	}
}
function doUpdateQualities() {
    doctypeToQuality = {
		0:  0, 13: 0, 14: 0, 39:0, 84: 0,
        
		37: 1, 38: 1, 85: 1,
		
        40: 13,
		
        1:  13, 15: 13,
		
         
        80:19, 81: 4, 83: 19, 124: 19,
        139:19,
        142:4, 143:4, 144:4, 145:4, 
		152: 4, 156: 4, 157:4, 154:4, 158:4, 159:4, 

        82: 5,
		
        125:7, 126:7,
		
        70: 8,
        
        51: 9,
        
        3: 10,
        
        146:13, 147:13, 148:13, 149:13, 150:13, 151:13,
         
        172: 13,
        170: 20, 173: 20,
        
        2: 14, 114: 14,
        
        177:15,
        
        176:16,

        182 : 182,
        
        163 : 4, 174 : 4,
        
        168 : 17, 169 : 17, 171 : 17,
        
        220 : 1,
        219 : 21, 221 : 21, 222:21
    };

    doctype_id = 0;
    doctype_elem = document.getElementById('selDoctype');
    if (doctype_elem != null)
    {
        doctype_id = document.getElementById('selDoctype').value;
    }
    i = 0;max = 20;
    for(l = 0; l <= max; l++)
    {
        if(t = document.getElementById('level-'+l))
        {
            t.style.display = 'none';
        }
    }
	/*while (t = document.getElementById('level-'+i)) {
		t.style.display = 'none';
		i++;
	}*/

	if (!(t = document.getElementById('level-'+doctypeToQuality[doctype_id]))) {
		t = document.getElementById('level-0');
	}
	
	var has_popup_description = false;
	if ( document.getElementById('level-' + doctypeToQuality[doctype_id] + '-1') != null)
	{
		has_popup_description = true;
	}
	
	if (t && !has_popup_description) {t.style.display = '';}
}

function featuresLevelHide()
{
    i = 0;max = 20;
    for(l = 0; l <= max; l++)
    {
        if(t = document.getElementById('features_level-'+l))
        {
            t.style.display = 'none';
        }
    }
}

function doUpdateFeatures() {
    var t;

    doctype_id = document.getElementById('selDoctype').value;

    featuresLevelHide();

    if (doctypeToFeatures)
    {
        for (key in doctypeToFeatures)
        {
            if( t = document.getElementById('features_level-' + doctypeToFeatures[key]) )
            {
                t.style.display = 'none';
            }
        }
    }
    
	if (!(t = document.getElementById('features_level-'+doctypeToFeatures[doctype_id]))) {
		t = document.getElementById('features_level-1');
	}
	if (t) {t.style.display = '';}
}

function showFeatures(doctype_id)
{
    var t;
    featuresLevelHide();

    if (doctypeToFeatures)
    {
        for (key in doctypeToFeatures)
        {
            if( t = document.getElementById('features_level-' + doctypeToFeatures[key]) )
            {
                t.style.display = 'none';
            }
        }
    }
    t = document.getElementById('features_level-'+doctypeToFeatures[doctype_id]);
    if (t)
    {
        t.style.display = '';
    }
}

function doUpdateDiscountText() {
    if(admission_doctypes[document.getElementById('selDoctype').value] == 1) { 
        document.getElementById('discount_text').innerHTML = ''; 
        span = document.getElementById('discount_text_papers');
    } else {
	    span = document.getElementById('discount_text');
    }
    
	if (discount==1) {
		if (span) {span.innerHTML = '';}
        if(admission_doctypes[document.getElementById('selDoctype').value] == 1) {  
		    if (span) span.innerHTML = 'Get a discount!';
        } 
	} else {
		if (span) span.innerHTML = 'Discount: '+Math.round((1-discount)*100)+'%';
	}
    
}

function ch_lvl() {
    lvl = parseInt(document.getElementById('level_choice').selectedIndex);
    doUpdatePrices(parseInt(lvl + 1));
}

function doUpdatePrices(lvl) {
 	select_product_class_count = 0;
    pages = 0;
    pages_elem = document.getElementById('pages_count');
    if (pages_elem != null)
    {
        pages = parseInt(document.getElementById('pages_count').value);
    }

    doUpdateQualities();
    doUpdatePagesText();
    doUpdateFeatures();

    papers = 1;
    if(parseInt(lvl)<=0) lvl = -1;
    if (!lvl) lvl = -1;
    if(admission_doctypes[document.getElementById('selDoctype').value] == 1) {
        papers = parseInt(document.getElementById('papers_count').value);
    }

    insertTable(
		document.getElementById('for_prices'), 
		document.getElementById('selDoctype').value,
		pages,
        papers,
        lvl
		);
    
	doUpdateDiscountText();

    if(document.getElementById('selDoctype').nodeName == 'SELECT')
    {
	    if (document.getElementById('selDoctype').options.length < 2) 
        {
		    document.getElementById('sel_dt_row').style.display = 'none';
	    }
    }

    if (document.getElementById('wr_level_desc'))
    {
        if (document.getElementById('selDoctype').value in {0:0, 13:13, 14:14,
                                                      39:39, 37:37, 38:38,
                                                      85:85, 80:80, 83:83, 84:84,
                                                      124:124, 168:168, 169:169,
                                                      171:171, 125:125, 126:126, 51:51})
          {
            document.getElementById('wr_level_desc').style.display = '';
          }
          else
          {
            document.getElementById('wr_level_desc').style.display = 'none';
          }
    }
    
    $(".tooltip").tooltip({
        positionLeft: true,
        blocked:true,
        delay: 0,
        track: false,
        opacity: 1,
        fixPNG: true,
        showBody: " - ",
        extraClass: "prices_tooltip",
        left:195,top:10
    });
    $(".buy_now").mouseover(function() {
        $(this).css('background','#f8af7e url(/images/buy_now_bg.gif) repeat-x 0 100%')
              .css('border','1px solid #f87318');
        $(this).children('.buy_now_text').css('display','inline');
    });
    $(".buy_now").mouseout(function() {
        $(this).css('background','none')
              .css('border','none');
        $(this).children('.buy_now_text').css('display','none');
    });
}

function OnClickChapters(numb) {
    document.getElementById('selDoctype').selectedIndex = numb;
    doUpdatePrices(-1);
}

function changeCurrency(curr)
{
	selected_curr = curr;
	doUpdatePrices();
}