var get = function(id) { return document.getElementById(id); }

function uVal(id)
{
	try {
		var relchb = get('relnumchb'+id);
		var rel = get('relnum'+id);
		if (relchb.checked)
		{
			if (rel.value == 0)
				rel.value = 1;
		}
		else
			rel.value = 0;
	}
	catch(e) {};
}

function tabSw(t, v) {

	for(i = 0; i < 20; i++) try {
			document.getElementById('tab' + t + 'Sw' + i).className = 'inactive';
	} catch(e) {};
	document.getElementById('tab' + t + 'Sw' + v).className = 'active';

	for(i = 0; i < 20; i++) try {
			document.getElementById('tab' + t + 'var' + i).style.display = 'none';
	} catch(e) {};
	try {
		document.getElementById('tab' + t + 'Sw' + v).className = 'active';
		document.getElementById('tab' + t + 'var' + v).style.display = '';
	} catch(e) {};

}

function cms_buyitem(id, lang) {
	try {
	ajax.query(id, lang, false);
	} catch(e) {};
}

function Ajax() {

	this.query = function(id, lang, async) {
		var http = this.http();
		var url = 'id=' + id + '&ac=' + Math.random();

		http.open('POST', '/'+ lang +'/my/cart/do.add_cart.id.' + id + '.html', async ? false : true);
		http.setRequestHeader('Content-Type', 'application/octet-stream');
		http.onreadystatechange = function() {
		if(http.readyState == 4) {
			try {
				eval('response = ' + http.responseText + ';');
				if(response['method']) eval(response['method'] + '(response)');
				if (lang == 'ru')
					alert('Товар успешно добавлен в корзину');
				else if (lang == 'de')
					alert('de - Item successfully added');
				else if (lang == 'en')
					alert('Item successfully added');
				location.reload(true);
			} catch (e) {
				alert('Ошибка: ' + e.message + '\n\nDebug:\n'+http.responseText);
			}
		}
	}
		http.send(url);
	}

	this.http = function() {
	    var xmlhttp;
		/*@cc_on
		@if(@_jscript_version >= 5)
			try {
			    xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');
			} catch(e) {
			    try {
					xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
				} catch(e) {
					xmlhttp = false;
				}
			}
		@else
			xmlhttp = false;
		@end @*/
	    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
	        try {
	            xmlhttp = new XMLHttpRequest();
	        } catch (e) {
	            xmlhttp = false;
	        }
	    }
	    return xmlhttp;
	}

}

ajax = new Ajax;

function set_content(id, html) {
	document.getElementById(id).innerHTML = html;
}

function auto_set_content(r) {
	set_content(r['div_id'], r['html']);
}

function refresh_cart(r) {
	auto_set_content(r);
	try {
	var buy = get('buy' + r['id']);
	var order = get('order' + r['id']);
	buy.style.display = 'none';
	order.style.display = '';
	} catch(e) {};
}



function hint(title, text) {
	w = 400;
	h = 200;
	var h_window = window.open('', h_window, 'left=' + ((screen.width - w)/2) + ',top=' + ((screen.height - h)/2 - 50) + ',width=' + (w+20) + ',height=' + (h+20));
	h_window.document.write('<title>' + title + '</title><body style="margin:10px;cursor:pointer;" onClick="window.close()">');
	h_window.document.write('<p><b style="font-family:arial;font-size:14	px">' + title + '</b></p><p style="font-family:arial;font-size:12px">' + text + '</p></body>');
	h_window.focus();
}

function PopupWin(link, title)
{
    var win = window.open('','preview','width=120,height=120,left=0,top=0,screenX=0,screenY=0,resizable=no,scrollbar=no,status=no,menubar=no,titlebar=no,location=no,scrolling=no');
    var winDoc = win.document;
    var content = '<html><head><title>' + title + '</title>' + 
    '<style>body{overflow: auto; padding:0; margin:0}img{border:0;}div{padding:5px; margin: 0 5px;}*div{padding:5px; margin: 0 5px;}html>body div {padding:0px 5px; margin: 0 5px;}</style>' + '</head><body><div><a href="javascript:self.close()">' +
    '<img alt="' + title + '" id="image" title="Закрыть" src="/thumb/800x0xNormal/data/files/' + link + '" /></a></div></body></html>';
    win.document.write(content);
    winDoc.body.onload = function() {
			var obj = winDoc.getElementById('image');
			var w = obj.width, h = obj.height;
			
			var iHeight= document.body.clientHeight, iWidth = self.innerWidth;
			var left = (self.opera ? iWidth : screen.availWidth)/2 - w/2;
			var top = (self.opera ? iHeight : screen.availHeight)/2 - h/2;

			win.resizeTo(w+25, h+85);
			
			win.moveTo(left, top);
    }
    win.onload = winDoc.body.onload; // special for Mozilla
    // !!! Important statement: popup onload won't execute without it!
    win.document.close();
    win.focus();
}

function zoom(link, title)
{
    var win = window.open('','preview','width=120,height=120,left=0,top=0,screenX=0,screenY=0,resizable=no,scrollbar=no,status=no,menubar=no,titlebar=no,location=no,scrolling=no');
    var winDoc = win.document;
    var content = '<html><head><title>' + title + '</title>' + 
    '<style>body{overflow: auto; padding:0; margin:0}img{border:0;}div{padding:5px; margin: 0 5px;}*div{padding:5px; margin: 0 5px;}html>body div {padding:0px 5px; margin: 0 5px;}</style>' + '</head><body><div><a href="javascript:self.close()">' +
    '<img alt="' + title + '" id="image" title="Закрыть" src="/thumb/800x0xNormal' + link + '" /></a></div></body></html>';
    win.document.write(content);
    winDoc.body.onload = function() {
			var obj = winDoc.getElementById('image');
			var w = obj.width, h = obj.height;
			
			var iHeight= document.body.clientHeight, iWidth = self.innerWidth;
			var left = (self.opera ? iWidth : screen.availWidth)/2 - w/2;
			var top = (self.opera ? iHeight : screen.availHeight)/2 - h/2;

			win.resizeTo(w+25, h+85);
			
			win.moveTo(left, top);
    }
    win.onload = winDoc.body.onload; // special for Mozilla
    // !!! Important statement: popup onload won't execute without it!
    win.document.close();
    win.focus();
}

/* Credit calculator functions */
function checkValue(value) 
{ 
	var check=true; 
	var i=value.length; 
	if(value<0) check=false; 
	if (check==true) 
	{  
		var nfloat=0; 
		for (var j=0; j<i; j++) 
		{ 
			if (value.charAt(j)>=0 || value.charAt(j)<=9 || value.charAt(j)=='.') 
			{ 
				if (value.charAt(j)=='.') 
				{ 
					nfloat++; 
					if (nfloat>1) 
					{ 
						check=false; 
						break; 
					} 
				} 
				check=true; 
			} 
			else 
			{ 
				check=false; 
				break; 
			} 
		} 
	} 
	return check; 
} 

function Check(element) 
{ 
	if (element.value<0) element.value=element.value*-1; 
	if (isNaN(element.value) || (element.value=='-')) 
	{ 
		element.value = element.getAttribute('last-acceptable-value'); 
	} 
	else 
	{ 
		element.setAttribute('last-acceptable-value', element.value); 
	} 
	return true; 
} 

function doCalc() 
{ 
	with (document.calculator) 
	{ 
		var f_p; 
		var c_p = parseFloat(car_price.value); 
		var c_e = parseFloat(car_ensurance.value); 
		var m_p = parseFloat(minimal_payment.value); 
		var c_t = parseFloat(credit_term.value); 
		var b_c = parseFloat(bank_comission.value); 
		var f_p = roundEx(c_p*(m_p/100)+c_p*(c_e/100)+b_c, 2); 
		var t_c = roundEx(c_p-(m_p/100)*c_p, 2); 
		
		first_payment.value = f_p; 
		total.value = t_c; 
		calculate = true; 
	} 
} 

function roundEx(x, dgt) 
{ 
	var p, n,d=0; 
	var str=""; 
	
	str+=x; 
	
	if (str.indexOf('.')>0 && str.indexOf('.')<str.length-3) 
	{ 
		d=str.length-(str.indexOf('.')+1); 
		p=Math.floor(Math.pow(10,dgt)); 
		(x>0) ? n = Math.floor(x) : n = Math.ceil(x); 
		var value=x*Math.pow(10,d); 
		for (var i=1;i<d-dgt+1;i++) 
		{  
			value=Math.round(value/10); 
		} 
		value=value/Math.pow(10,dgt); 
		return value; 
	} 
	else 
	{ 
		return x; 
	} 
} 

function MonthPayment() 
{ 
	if (calculate==false) 
	{ 
		alert('Ошибка! Рассчитайте сумму кредита') 
	} 
	else 
	{ 
		GetDayNum(month,year); 
		OneYear(); 
	} 
} 

function GetDayNum(month,year) 
{  
	days = new Array(31,28,31,30,31,30,31,31,30,31,30,31); 
	year%=4; 
	if (year==0) days[1]=29;  
	return days[month]; 
} 

function GetMonthName(id) 
{ 
	months = new Array('январь ','февраль ','март ','апрель ','май ','июнь ','июль ','август ','сенябрь ','октябрь ','ноябрь ','декабрь '); 
	return months[id]; 
} 

function OneYear() 
{ 
	var OpenWindow=window.open('','newwin',"height=450,width=600,scrollbars=yes,resizable=yes"); 
	numdays=0; 
	var term=document.calculator.credit_term.value; 
	var credit=document.calculator.total.value; 
	var result=(credit/term); 
	var resvz=0, resproc=0, respay=0; 
	var temp=0; 
	year=CurDate.getYear(); 
	var str=""; 
	str+=year; 
	if(str.length==3) 
	{ 
		str="20"+str.charAt(1)+str.charAt(2); 
		year=parseInt(str) 
	}; 
	
	if(str.length==2) 
	{ 
		str="20"+str.charAt(0)+str.charAt(1); 
		year=parseInt(str) 
	}; 
	
	var color=""; 
	
	OpenWindow.document.write('<html><head><title>Платежи по кредиту. Калькуляция кредита.</title>'); 
	OpenWindow.document.write("<style>body{height: 100%; background-color: #FFFFFF; color: #000000;} table {font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 10pt;}</style>");
	
	OpenWindow.document.write("</head><body onload='focus();'>");
	OpenWindow.document.write('<table cellpadding="0" cellspacing="0" width="100%"><tr valign="top" bgcolor="#f0f0f0" border="#f0f0f0"><td align="center">Период</td><td width=5 ></td><td align="center" nowrap>Кол-во дней</td><td width=5></td><td align="center">Взнос</td><td width=5></td><td align="center">Проценты</td><td width=5></td><td align="center" nowrap>Остаток по кредиту</td><td width=5></td><td align="center" nowrap><b>Всего взнос</b></td></tr><tr><td height=5></td></tr>'); 
	
	for (var i=0; i<term; i++, month++) 
	{ 
		if (month == 12) 
		{ 
			month=0; year++; 
		} 
		var monthname=GetMonthName(month); 
		var ostatok,vznos; 
		if ((i%2)!=0) color="bgcolor='#f0f0f0'"; else color=""; 
		if (temp==0) 
		{ 
			OpenWindow.document.write('<tr '+color+'><td align="center">'+day+' '+monthname+' '+year+'</td><td width=5></td>'); 
			temp=1; 
		} 
		else 
		{ 
			OpenWindow.document.write('<tr '+color+'><td>'+monthname+' '+year+'</td><td width=5></td>'); 
		} 
		if (day!=1 && i==0) 
		{ 
			numdays=GetDayNum(month,year)-day+1; 
		} 
		else 
		{ 
			numdays=GetDayNum(month,year); 
		} 
		var percent=(credit*(document.calculator.bank_percent.value/100)*numdays/365); 
		OpenWindow.document.write('<td align="right">'+numdays+'</td><td width=5></td>'); 
		ostatok=(credit-result); 
		credit=ostatok; 
		vznos=result+percent; 
		
		if(roundEx(ostatok,2)==0) ostatok="0"; 
		OpenWindow.document.write('<td align="right">'+roundEx(result,2)+'</td><td width=5></td><td align="right">'+roundEx(percent,2)+'</td><td width=5></td><td align="right">'+roundEx(ostatok,2)+'</td><td width=5></td><td align="right"><b>'+roundEx(vznos,2)+'</b></td></tr>'); 
		resvz+=result; 
		resproc+=percent; 
		respay+=vznos; 
	} 
	OpenWindow.document.write('</tr><tr ><td height="10"></td></tr>'); 
	OpenWindow.document.write('<tr bgcolor="#f0f0f0"><td><b>Всего:</b></td><td width=5></td><td></td><td width=5></td><td align="right"><b>'+roundEx(resvz,2)+'</b></td><td width=5></td><td align="right"><b>'+roundEx(resproc,2)+'</b></td><td width=5></td><td>  </td><td width=5></td><td align="right"><b>'+roundEx(respay,2)+'</b></td>'); 
	OpenWindow.document.write('</tr></table>'); 
	OpenWindow.document.write('</body></html>'); 
} 
