/*
loaded = false;
minWidth = 920;
maxWidth = 1102;
outerId = 'common';

window.onload = function() {
	loaded = true;
}

window.onresize = function() {
	Modify(outerId);
}

function resizerWhileLoad() {
	Modify(outerId);
	if(!loaded) setTimeout("resizerWhileLoad()",1);
}
resizerWhileLoad();

function Modify(objid) {
	if ((document.body) && ((w = document.body.clientWidth) || (w = innerWidth))) {
		if(obj = getObj(objid)) obj.style.width = SizeIs(w);
	}
}

function SizeIs(w) {
	if (w > maxWidth) return maxWidth;
	else if (w > minWidth) return '100%';
	else return minWidth;
}

function getObj(obj){
	return (o = document.getElementById(obj))? o : document.all[obj];
}
*/

// Ajax realization

var lastSpan;

// Create new script element and start loading.
function ajaxExecute(href)
{

/*				$.ajax({
			  	  type: "GET",
			 	  url: href,
				  dataType: "script",
				  success:function() { $(document).trigger("ajax_end"); }
				});
*/

	$.getScript(href, function() { $(document).trigger("ajax_end"); });
	return;

/*	with (document)
	{
		// Oh shit! Damned stupid fucked Opera 7.23 does not allow to create SCRIPT
		// element over createElement (in HEAD or BODY section or in nested SPAN -
		// no matter): it is created deadly, and does not response on href assignment.
		// So - always create SPAN.
		lastSpan = body.appendChild(createElement("SPAN"));
		lastSpan.style.display = 'none';
		lastSpan.innerHTML = href + '.<s'+'cript></' + 'script>';
		setTimeout(
			function()
			{
				var s = lastSpan.getElementsByTagName("script")[0];
				s.language = "JavaScript";
				if (s.setAttribute) s.setAttribute('src', href); else s.src = href;
			}, 10);
	}
*/
}

// Remove last used script element (clean memory).
function ajaxCleanup()
{
	if (lastSpan != null)
	{
		setTimeout(
		function()
		{
			// without setTimeout - crash in IE 5.0!
			if (lastSpan.parentNode != null)
				lastSpan.parentNode.removeChild(lastSpan);
		}, 100);
	}
	return false;
}

// Escape functions
var trans = [];
for (var i = 0x410; i <= 0x44F; i++)
  trans[i] = i - 0x350;
trans[0x401] = 0xA8;
trans[0x451] = 0xB8;

function ruescape(str)
{
  var ret = [];
  for (var i = 0; i < str.length; i++)
  {
    var n = str.charCodeAt(i);
    if (typeof trans[n] != 'undefined')
      n = trans[n];
    if (n <= 0xFF)
      ret.push(n);
  }
  return escape(String.fromCharCode.apply(null, ret));
}

// Open images in popup
var k=0;
var rWin,rImg;

function rWindow(win,img){
//	alert("img.width & height: " +  img.width + " | " + img.height)
//	alert (img.complete && k <20)
	if (img.width > 30 && img.height > 30) {  // размер дефольтной незагруженной картинки обычно менее чем 30x30 
		w = win.innerWidth || win.document.body.clientWidth
		h = win.innerHeight || win.document.body.clientHeight
		win.resizeBy(img.width - w, img.height - h)
	} else {
		k++
		rWin = win
		rImg = img
		setTimeout('rWindow(rWin,rImg)',100);
	}
}

var r_id = Math.random();
r_id = Math.round(r_id*10000);

function imgOpen(url){
  try {
	mywin.close();
  } catch (e){
	// none
  } finally {
	mywin = window.open("","bigPhoto"+r_id,'width=250,height=110,status=0,toolbar=0,location=0,menubar=0,directories=0,resizable=0,scrollbars=0');
	mywin.document.open();
	mywin.document.write("<HTML><body style=overflow:hidden;margin:0px;border:0px;padding:0px;background:#cccccc>");
	mywin.document.write("<table width=100% height=100% border=0 cellspacing=0 cellpadding=0><tr><td align=center>");
	mywin.document.write("<a href='#' title='закрыть окно' style='cursor:hand'><img id=myImg src="+url+" onClick='window.close()' border=0></a><br>");
	mywin.document.write("</td></tr></table>");
	mywin.document.write("<script>window.focus();resizeWindow();function resizeWindow(){window.opener.rWindow(window,document.images.myImg);}</script>");
	mywin.document.write("</body></HTML>");
	mywin.document.close();
  }
  return false;
}
        // get element by id
	function get(name) {
		var user_agent = navigator.userAgent.toLowerCase();
		if ( user_agent.indexOf("msie") != -1) {
			return eval('document.all.' + name);
		}
		if (user_agent.indexOf("mozilla/5.0") != -1) {
			return document.getElementById(name);
		}
		if (user_agent.indexOf("opera") != -1) {
			return document.getElementById(name);
		}
		return document.getElementById(name);
	}		

	// set cookie	
	function SetCookie(name, value){
		var argv = SetCookie.arguments;
		var argc = SetCookie.arguments.length;
		var comments = (argc > 2) ? argv[2] : "";
		var domain = (argc > 3 && argv[3]) ? argv[3] : ".mp3.ru";
//		var domain =  ".webapp.ext";
//		var domain =  ".mp3.ru";
		var expires = (argc > 4) ? argv[4] : "";
		var path = (argc > 5) ? argv[5] : "";
		var secure = (argc > 6) ? argv[6] : false;
		document.cookie = name + "=" + value +
			((expires == "") ? "" : ("; expires=" + expires)) +
			((path == "") ? "" : ("; path=" + path)) +
			((domain == "") ? "" : ("; domain=" + domain)) +
			((secure == true) ? "; secure" : "");
	}

	// for catalogue search panel ( used in cart too)
	function word_search(key) {
		if (get("ed_word").value == "") return;
		if (key != 13) return;
		get("hd_letter").value='';
		get("search_panel").submit();
	}	


	// colorize navigation buttons if myfiles or cart have elements
	// c_cart, c_myfiles - numbers of items in cart and myfiles
	function cart_count(c_cart, c_myfiles) {
		if (c_cart) {
			get('navbtn_cart').className="active";
		}
		if (c_myfiles) {
			get('navbtn_myfiles').className = "active";
		}
	}

	function caterpillar_step(step) {
		if (step == 'first_time') {	get('navbtn_free').className="active";	return; }
		if (step == 'watch_promo') {	get('navbtn_free').className="active";	return;  }
		get('navbtn_free').className="";
	}

var preImg = false;
var prowebImg = new Image();
var prowebImg_on = new Image();
var helpImg = new Image();
var helpImg_on = new Image();

function ImgCache() {
	prowebImg.src = '/i/proweb.gif';
	prowebImg_on.src = '/i/proweb_on.gif';
	helpImg.src = '/i/head_help.gif';
	helpImg_on.src = '/i/head_help_on.gif';
	preImg = true;
}
ImgCache();

function ImgHover(id,name,event) {
	if(preImg) {
		obj = get(id);
		var newImgHandler = (event) ? name+'Img_'+event : name+'Img';
		obj.src = eval(newImgHandler).src;
	}
}

// Catch keydown
OldKeyDown = document.onkeydown;
document.onkeydown = CatchKeyPressed;

function CatchKeyPressed(event) {
	if(window.OldKeyDown) OldKeyDown();
	opera = (window.opera) ? true : false
	ie = (document.all) ? true : false;
	if(opera) KeySet = 96; // `
	else KeySet = 192; // ` in IE && Mozilla
	kCode = (ie) ? window.event.keyCode : event.which;
	ctrl = (ie) ? window.event.ctrlKey : event.ctrlKey;
	alt = (ie) ? window.event.altKey : event.altKey;
	//alert(kCode);
	var str = '';
	if((ctrl || alt) && kCode == KeySet) {
		if(window.portal_ver) str = portal_ver;
		if(window.service_ver) for(i in service_ver) str += '\n'+service_ver[i];
		alert(str);
	}
}
// Make post request
// howto: http://www.captain.at/howto-ajax-form-post-request.php
// sample: if ( !makePOSTRequest("www.mp3.ru", "param1=texttext&param2=texttext") ) alert("bad post");
// calback sample: 
//	function alertContents() {
//		if (http_request.readyState == 4) {
//			if (http_request.status == 200) {
//        		    alert(http_request.responseText);
//			} else {
//				alert('There was a problem with the request.');
//			}
//		}
//	}
// note: `callback` is optional argument
var http_request = false;
function makePOSTRequest(url, parameters, callback) {
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		return false;
	}
	if ( typeof(callback) != "undefined" ) http_request.onreadystatechange = callback;
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
	return true;
}
