function inc(filename) { var body = document.getElementsByTagName('body').item(0);script = document.createElement('script');script.src = filename;script.type = 'text/javascript';body.appendChild(script)}
function getXmlHttp(){var xmlhttp; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {  try {  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");    } catch (E) {      xmlhttp = false;    }  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {   xmlhttp = new XMLHttpRequest(); } return xmlhttp;}
	
	
function geturl(url) {
	var xmlhttp = getXmlHttp()
			xmlhttp.open('GET', url, true);
			xmlhttp.onreadystatechange = function() {
			  if (xmlhttp.readyState == 4) {
			     if(xmlhttp.status == 200) {
				   
				   return xmlhttp.responseText;
				   
		         }
			  }
			};
			xmlhttp.send(null);
}

var current_pagenum = 1;
var current_author_id;
var current_type;




var messopen = '<b class="m"><b class="m1"><b></b></b><b class="m2"><b></b></b><b class="m3"></b><b class="m4"></b><b class="m5"></b></b><div class="mfg">';
var messclose = '<div class="x m_x" onclick="hide_message();"></div></div><b class="m"><b class="m5"></b><b class="m4"></b><b class="m3"></b><b class="m2"><b></b></b><b class="m1"><b></b></b></b>';

function hide_message() {

document.getElementById("message").className="message_off";

}
function show_message(messagetxt) {

var mess = document.getElementById("message");
mess.className="message";
mess.innerHTML = messopen + messagetxt + messclose;

	$('#message').animate({
		'marginBottom' : "+=20px"
	},250);

	
	
		
		$('#message').animate({
		'marginBottom' : "-=20px"
	},200);
	//setTimeout('document.getElementById("message").className="message_off"', 16000);
	
}



function try_login(formobj) {
var login = formobj.login.value;
var password = formobj.password.value;
var mess = document.getElementById("message");

$('#message').animate({
		'marginBottom' : "+=20px"
	},250);

	mess.className="message";
 	mess.innerHTML = "<img src=\"/img/loading.gif\" alt=\"...\" class=\"loading2\"\/>";

			var xmlhttp = getXmlHttp()
			var params = 'login='+encodeURIComponent(login)+'&password='+encodeURIComponent(password);
			xmlhttp.open('POST', '/xml_login/in', true);
			xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')

			xmlhttp.onreadystatechange = function() {
			  if (xmlhttp.readyState == 4) {
			     if(xmlhttp.status == 200) {
				   mess.innerHTML = mess.innerHTML = messopen + xmlhttp.responseText + messclose;
				   var messvalue = stripHTML(xmlhttp.responseText);
				   if (messvalue=="Успех!") {	parent.location = parent.location; } 
		         }
			  }
			};
			xmlhttp.send(params);
		$('#message').animate({
		'marginBottom' : "-=20px"
	},200);
	//setTimeout('document.getElementById("message").className="message_off"', 16000);
}
	
	
function init_pagging(type,author_id,pagenum) {

			var xmlhttp = getXmlHttp()
			var params = 'type='+encodeURIComponent(type)+'&author_id='+encodeURIComponent(author_id)+'&page='+encodeURIComponent(pagenum);
			xmlhttp.open('POST', '/xml_pagging', true);
			xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')

			xmlhttp.onreadystatechange = function() {
			  if (xmlhttp.readyState == 4) {
			     if(xmlhttp.status == 200) {
				   document.getElementById("pagging").innerHTML = xmlhttp.responseText;
				   
		         }
			  }
			};
			xmlhttp.send(params);


return false;

}
	
function activewindow (type,author_id,pagenum) {
			document.getElementById("activewindow").innerHTML = "<img src=\"/img/loading.gif\" alt=\"Загружается...\" class=\"loading2\"\/>";					

					var author_id = author_id ? author_id : 0;
				   document.getElementById("rated").className ='b_rated';
				   document.getElementById("last").className ='b_last';
				   document.getElementById("pop").className ='b_pop';
				   
				   document.getElementById(type).className ='b_'+type+'_selected';
				   
				   

			var xmlhttp = getXmlHttp()
			xmlhttp.open('GET', '/xml_pubs?type='+type+'&author_id='+author_id+'&page='+pagenum, true);
			xmlhttp.onreadystatechange = function() {
			  if (xmlhttp.readyState == 4) {
			     if(xmlhttp.status == 200) {

				document.getElementById("activewindow").innerHTML = xmlhttp.responseText;
				

				    current_type = type;
					current_pagenum = pagenum;
					current_author_id = author_id;
					init_pagging(type,author_id,pagenum);				   
					
					
			         }
			  }
			};
			xmlhttp.send(null);


}


function stripHTML(oldString) {

   var newString = "";
   var inTag = false;
   for(var i = 0; i < oldString.length; i++) {
   
        if(oldString.charAt(i) == '<') inTag = true;
        if(oldString.charAt(i) == '>') {
              inTag = false;
              i++;
        }
   
        if(!inTag) newString += oldString.charAt(i);

   }

   return newString;
}



var sMax=5;	// Isthe maximum number of stars
var holder; // Is the holding pattern for clicked state
var preSet; // Is the PreSet value onces a selection has been made
var rated;

// Rollover for image Stars //
function rating(num){
	for(n=0; n<num.parentNode.childNodes.length; n++){
		if(num.parentNode.childNodes[n].nodeName == "A"){
			//sMax++;	
		}
	}
	
	
	if(!rated){
		s = num.id.replace("rate", ''); // Get the selected star
		a = 1;
		for(i=1; i<=sMax; i++){		
			if(i<=s){
				document.getElementById("rate"+i).className = "on";
			//	document.getElementById("rateStatus").innerHTML = num.title;	
				holder = a+1;
				a++;
			} else{
			
			document.getElementById("rate"+i).className = "";	
				
			}
		}
	}
}



function  ratedstatus (num) {
				s = num; a = 1;
				for(i=1; i<=sMax; i++){		
					if(i<=s){
						document.getElementById("rate"+i).className = "on";
						holder = a+1;
						a++;
					}else{
						
						document.getElementById("rate"+i).className = "";	
					}
				}
	}

// For when you roll out of the the whole thing //
function off(me){
	if(!rated){
		if(!preSet){	
			for(i=1; i<sMax; i++){		
				document.getElementById("rate"+i).className = "";
				//document.getElementById("rateStatus").innerHTML = me.parentNode.title;
				ratedstatus(rated_status);								
			}
		}else{
			rating(preSet);
			//document.getElementById("rateStatus").innerHTML = document.getElementById("ratingSaved").innerHTML;
		}
		
	}

}

// When you actually rate something //
function rateIt(me){
	if(!rated){
		s = me.id.replace("rate", ''); // Get the selected star
		document.getElementById("rateStatus").innerHTML = me.title;
		preSet = me;
		rated=1;
		sendRate(s);
		rating(me);
	}
}

// Send the rating information somewhere using Ajax or something like that.
function sendRate(sel){

			var xmlhttp = getXmlHttp()
			xmlhttp.open('GET', '/xml_rate?id='+video_id+'&rate='+sel, true);
			xmlhttp.onreadystatechange = function() {
			  if (xmlhttp.readyState == 4) {
			     if(xmlhttp.status == 200) {

				   document.getElementById("rateStatus").innerHTML = xmlhttp.responseText;
				   
			         }
			  }
			};
			xmlhttp.send(null);
	
}



	

function hide_player(pub_id) {
	var obj = document.getElementById("player");
	$('#player').animate({'marginLeft':"-=1650px",'marginTop' : "-=578px"},150);
	setTimeout('document.getElementById("player_embed").innerHTML="";document.getElementById("player").className="player_off";',500);
}


function show_player_div(pub_id) {
	var obj = document.getElementById("player");
	if (obj.className=="player") {hide_player();}	else {
	obj.className="player";
	$('#player').animate({'marginLeft':"+=1650px",'marginTop' : "+=578px"},300);
		title = document.getElementById('preview_title_text'+pub_id).innerHTML;
		obj.innerHTML = '<span class="c"><span class="c1"><span>-</span></span><span class="c2"><span>-</span></span><span class="c3">-</span><span class="c4">-</span><span class="c5">-</span></span><div class="cfg"><div class="x" onclick="hide_player()"></div><div class="player_title" onmousedown="dragStart(event, \'player\')">'+title+'</div><div class="player_embed" id="player_embed"><embed src="/'+pub_id+'.swf" width="674" height="405" allowfullscreen="true"/></div></div><span class="c"><span class="c5">-</span><span class="c4">-</span><span class="c3">-</span><span class="c2"><span>-</span></span><span class="c1"><span>-</span></span></span>';
	}

}



//---------------------------------------- BEGIN OF DRAGGABLE PLAYER
// Thanks to Mike Hall for help. 
function Browser() {

  var ua, s, i;

  this.isIE    = false;
  this.isNS    = false;
  this.version = null;

  ua = navigator.userAgent;

  s = "MSIE";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isIE = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  s = "Netscape6/";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  // Treat any other "Gecko" browser as NS 6.1.

  s = "Gecko";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = 6.1;
    return;
  }
}

var browser = new Browser();

// Global object to hold drag information.

var dragObj = new Object();
dragObj.zIndex = 10;

function dragStart(event, id) {

  var el;
  var x, y;

  // If an element id was given, find it. Otherwise use the element being
  // clicked on.

  if (id)
    dragObj.elNode = document.getElementById(id);
  else {
    if (browser.isIE)
      dragObj.elNode = window.event.srcElement;
    if (browser.isNS)
      dragObj.elNode = event.target;

    // If this is a text node, use its parent element.

    if (dragObj.elNode.nodeType == 3)
      dragObj.elNode = dragObj.elNode.parentNode;
  }

  // Get cursor position with respect to the page.

  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }
  if (browser.isNS) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }

  // Save starting positions of cursor and element.

  dragObj.cursorStartX = x;
  dragObj.cursorStartY = y;
  
  
	dragObj.elStartLeft = parseInt(dragObj.elNode.style.left, 10); 
	dragObj.elStartTop = parseInt(dragObj.elNode.style.top,  10); 
	
  
  

  if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = "-448px"; // only for player
  if (isNaN(dragObj.elStartTop))  dragObj.elStartTop  = "-1550px"; // only for player

  // Update element's z-index.

  dragObj.elNode.style.zIndex = ++dragObj.zIndex;

  // Capture mousemove and mouseup events on the page.

  if (browser.isIE) {
    document.attachEvent("onmousemove", dragGo);
    document.attachEvent("onmouseup",   dragStop);
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }
  if (browser.isNS) {
    document.addEventListener("mousemove", dragGo,   true);
    document.addEventListener("mouseup",   dragStop, true);
    event.preventDefault();
  }
}

function dragGo(event) {

  var x, y;

  // Get cursor position with respect to the page.

  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }
  if (browser.isNS) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }

  // Move drag element by the same amount the cursor has moved.

  dragObj.elNode.style.left = (dragObj.elStartLeft + x - dragObj.cursorStartX) + "px";
  dragObj.elNode.style.top  = (dragObj.elStartTop  + y - dragObj.cursorStartY) + "px";

  if (browser.isIE) {
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }
  if (browser.isNS)
    event.preventDefault();
}

function dragStop(event) {

  // Stop capturing mousemove and mouseup events.

  if (browser.isIE) {
    document.detachEvent("onmousemove", dragGo);
    document.detachEvent("onmouseup",   dragStop);
  }
  if (browser.isNS) {
    document.removeEventListener("mousemove", dragGo,   true);
    document.removeEventListener("mouseup",   dragStop, true);
  }
}
//---------------------------------------- END OF DRAGGABLE PLAYER



function select_draw(id,ar,arval,sel,selval,act) {  // (id - name of select, ar - array of options, arval - array with values of options, sel - selected option,  selval - selected value, act - action to do onchange)
var draw = document.getElementById('select_'+id);
/* dirty hack 
var browser=navigator.appName; var iestyle; if (navigator.appName!="Microsoft Internet Explorer"){iestyle=" style='margin-top:"+document.getElementById("selmenu_"+id).style.width+";'";}
 end of hack */

var i=1;var result;
var setval = stripHTML(selval);
var sel = stripHTML(sel);
result = "<span class=\"sel\" onclick=\"select_emulate('"+id+"');\">";
result = result + "<span class=\"inppdl\"></span><span class=\"sel_txt\" id=\"seltxt_"+id+"\">"+sel+"</span><span class=\"sel_but\"></span></span>";
result = result + "<input type=\"hidden\" name=\""+id+"\" id=\""+id+"\" value=\""+setval+"\"/>";



result = result + "<br/><br/><div class=\"sel_menu_off\" id=\"selmenu_"+id+"\">";
for (i=1;i<=(ar.length-1);i++) {
	result = result + "<div class=\"sel_element\" onclick=\"select_choose('"+ar[i]+"','"+id+"','"+arval[i]+"','"+act+"')\">"+ar[i]+"</div>";
}
result = result + "</div>";
result = result + "</span>";
draw.innerHTML = result;


}

function select_emulate(id) {
	var id = stripHTML(id);
	var selmenu = document.getElementById('selmenu_'+id);
	
	if (selmenu.className == 'sel_menu_off') { 
	
	selmenu.style.opacity = "0";

	$('#selmenu_'+id).animate({'opacity' : "+=1"},170);	
	
	selmenu.className='sel_menu';
	
		} else  {
		
		selmenu.className='sel_menu_off';
		
		
	}
}
function select_choose(opt,id,val,act) {
	var id = stripHTML(id);
	var val = stripHTML(val);
	var selmenu = document.getElementById('selmenu_'+id);
	
	selmenu.className = 'sel_menu_off';
	document.getElementById('seltxt_'+id).innerHTML = opt;
	document.getElementById(id).value = val;
	//selmenu
	
	eval(act);
}


function ctrl_enter(e, act)
{
	if (((e.keyCode == 13) || (e.keyCode == 10)) && (e.ctrlKey == true)) {eval(act);}
}


function show_player(pub_id,width,height) {
var host_name = window.location.hostname;
var random = Math.random();
show_message('Открывается в отдельном окне');
newWindow = window.open('..','pub'+pub_id,'width='+width+',height='+height+',menubar=0,statusbar=0,titlebar=0,toolbar=0,location=0,resizable=1');
newWindow.document.write('<html><head><title></title></head><body style="margin:0;left:0;top:0;position:fixed;width:100%;height:100%;"><embed src="http://'+host_name+'/'+pub_id+'.swf?'+random+'" allowfullscreen="true" style="left:0;top:0;position:fixed;width:100%;height:100%;"></body></html>');
newWindow.focus();
}

