discount = 1;
wlwl = 0;
admission_doctypes = {
		142: 1,
        143: 1,
        144: 1, 
        145: 1,
        154: 1
        };

function priceOfItem(doctype_id, urg, wr_level, pages, papers) {
    //if (!(papers>0)) papers = 1;
    
	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];
		for (g in t) {
			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) / 100).toFixed(2);
			}
		}
		return (Math.round(price * pages * 100) / 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;
		return (Math.round(koef * pp * pages * doctypes[doctype_id].prices[urg][wr_level] * 100) / 100).toFixed(2);
	}
}

function genTable(doctype_id, pages_count, papers, lvl) {
	if (!(pages_count>0)) pages_count = 1;
    if (!(papers>0)) papers = 1;
    
    pages_num = '';
    //if(pages_count > 1) pages_num = '&numpages='+pages_count; 
    papers_num = '';
    //if(papers > 1) papers_num = '&numpapers='+papers;
    
	pricesTable = document.createElement('table');
	pricesTable.className = 'prices';
	pricesTable.id        = 'prices';
	pricesTable.cellSpacing = '1';
	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);
	
//    if (levels_count>1 && levels_count<=3) {
//        img = document.createElement('img');
//		th1.appendChild(img);
//		img.src = 'images/urwrl.gif';
//	} else {
//		img = document.createElement('img');
//		th1.appendChild(img);
//		img.src = 'images/urwrl_prices.gif';
		th1.innerHTML = '<span>Urgency</span>';
//	}
	

    if(levels_count>6) {
            if(wlwl > 0) {
                th = document.createElement('th');
		        th.width = col_width;
		        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;
		    hr.appendChild(th);
            str_wrlevel = doctypes[doctype_id]['q_levels'][wlwl];
		    th.innerHTML = '<span>'+str_wrlevel+'</span>';
        } else {
			if (levels_count == 1) {
		        th = document.createElement('th');
		        th.width = col_width;
		        hr.appendChild(th);
                
		        th.innerHTML = '<span>Price</span>';
			} else
			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(str_wrlevel == '') str_wrlevel = 'Prices';
		        th.innerHTML = '<span>'+str_wrlevel+'</span>';
	        }
        }
    }
	i = 0;
	if (doctypes && doctypes[doctype_id] && doctypes[doctype_id]['q_levels'])

    //creating table with prices
	for (urg in doctypes[doctype_id]['ur_levels']) {
		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');
			        td.innerHTML = 
				        '<a href="/order.php?doctype='+doctype_id+'&urgency='+urg+'&wrlevel='+wr_level+pages_num+papers_num+'">'+
					        (doctypes.currency + priceOfItem(doctype_id, urg, wr_level, pages_count, papers))+
				        '</a>';
			        
			        tr.appendChild(td);
                }
                k ++;
		    } 
        } else {
		    for (wr_level in doctypes[doctype_id]['q_levels']) {
			    td = document.createElement('td');
			    td.innerHTML = 
				    '<a href="/order.php?doctype='+doctype_id+'&urgency='+urg+'&wrlevel='+wr_level+pages_num+papers_num+'">'+
					    (doctypes.currency + priceOfItem(doctype_id, urg, wr_level, pages_count, papers))+
				    '</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';
	}
    if(admission_doctypes[document.getElementById('selDoctype').value] == 1) {
        document.getElementById('tr_papers').style.display='';
    }
    texts = {
		0:   'Select number of pages:',
		124: 'Select number of problems:',
		234: 'Select number of problems:',
		139: 'Select number of problems:',
		51:  'Select number of slides:',
		125: 'Select number of questions:'
	}
	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;
	}
}
function doUpdateQualities() {
    doctypeToQuality = {
		0:  0, 

		

		13: 0, 
		14: 0, 
		39:0, 
		84: 0,
		37: 1, 38: 1, 85: 1,

		81: 12,

		82: 5,
		51: 13,
		70: 8, /*81: 8,*/
        142:4, 143:4, 144:4,
        158:4, 159:4,

   		1:  3, 15: 3, 40:3,

   		3: 11, 

        146:10, 147:10, 148:10, 149:10, 150:10, 151:10,

        124:11, 234:11, 125:11,126:11, 145:11, 152:11,  154:11, 156:11, 157:11,
        80:11, 83:11
        
    };

    doctype_id = document.getElementById('selDoctype').value;

    $('.qualities').css({display: 'none'});

	if (!(t = document.getElementById('level-'+doctypeToQuality[doctype_id]))) {
		t = document.getElementById('level-0');
	}
	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 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) {
	pages = parseInt(document.getElementById('pages_count').value);
    doUpdateQualities();
	doUpdatePagesText();

    papers = 1;
    if(parseInt(lvl)<=0) 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') && document.getElementById('selDoctype').options&&document.getElementById('selDoctype').options.length < 2) {
		document.getElementById('sel_dt_row').style.display = 'none';
	}
}