var rtframes = false;
var IE = false;
var FileType;

String.prototype.is_string = true;
Array.prototype.is_array = true;

function Element( ID ) { return document.getElementById( ID ); }

function Elements( Obj, Tag ) {
	Obj = Obj.is_string ? Element(Obj) : Obj;

	return Obj.getElementsByTagName( Tag.toUpperCase() );
}

function setOpacity(obj,op) {
	obj.style.filter='alpha(opacity='+op+')';
	obj.style.opacity=op/100;
}

function erase( url ) {
	var conf = confirm( 'Сигурен ли сте?' );
	if( conf )
		window.location = url;
}

function setLoader( id, txt ) {
	Element(id).innerHTML = txt;
}

function SetFixes() {
	var c=Element('footer');

	if(c)
		if(c.parentNode.offsetHeight>=document.body.scrollHeight)
			c.style.top=(c.parentNode.offsetHeight-c.offsetHeight)+'px';
		else
			c.parentNode.style.height=document.body.scrollHeight+'px';
}

function ReplaceFilelist( response ) {
	Element('files').innerHTML = response;
	Element('wait').innerHTML = '<br /><br />';
	SetFixes();
}

function SetFilelist( Type ) {
	var ajax = new Ajax();
	FileType = Type;

	Element('wait').innerHTML = 'Преглед на файловете. Моля, изчакайте...<br /><br />';

	var url = 'ajax.php?action=fileslist';
	if( Type ) url += '&type=' + Type;

	ajax.sendRq('GET',url,ReplaceFilelist);
	SetFixes();
}

function FileErase( id ) {
	var conf = confirm( 'Сигурен ли сте?' );

	if( conf ) {
		var ajax = new Ajax();

		Element('wait').innerHTML = 'Преглед на файловете. Моля, изчакайте...<br /><br />';

		var url = 'ajax.php?action=fileslist&type=' + FileType + '&erase=' + id;

		ajax.sendRq('GET',url,ReplaceFilelist);
		SetFixes();
	}
}

function RenameFile( id, fname ) {
	do {
		if( rename )
			alert("Име на файл не може да съдържа следните символи: < > / \\ | ? : \" *");

		var rename = prompt( 'Въведете ново име за файла', fname );
	}
	while( rename && !rename.match(/^\s+$/) && !rename.match(/^[^\/\\?<>:*|"]+$/) );

	if( rename ) {
		var ajax = new Ajax();

		Element('wait').innerHTML = 'Преглед на файловете. Моля, изчакайте...<br /><br />';

		var url = 'ajax.php?action=fileslist&type=' + FileType + '&rename=' + escape(rename) + '&id=' + id;

		ajax.sendRq('GET',url,ReplaceFilelist);
	}
}

function GetTags( obj, tagsName ) {
	return obj.getElementsByTagName( tagsName.toUpperCase() );
}

function cposition( obj, dir ) {
	var Row		= obj.parentNode.parentNode;
	var Prev	= Row.previousSibling;
	var Next	= Row.nextSibling;
	var Buffer	= '';

	while( Next && Next.nodeType != 1 )
		Next = Next.nextSibling;

	while( Prev && Prev.nodeType != 1 )
		Prev = Prev.previousSibling;

	var Sibling	= (dir == 'up') ? Prev : Next;

	if(
		Sibling &&
		GetTags( Row, 'td' ).length == GetTags( Sibling, 'td' ).length
	) {
		for(var i=0; i<Row.cells.length; i++) {
			Buffer = Sibling.cells[i].innerHTML;
			Sibling.cells[i].innerHTML = Row.cells[i].innerHTML;
			Row.cells[i].innerHTML = Buffer;
		}
	}
}

function ReplaceCatslist( response, FormObj ) {
	Element('table').innerHTML = response;

	var loader = !FormObj.is_string ? 'loader' : FormObj;

	setLoader( loader, 'Заявката е изпълнена<br /><br />' );

	if( !FormObj.is_string )
		FormObj.reset();

	SetFixes();
}

function SubmitCat( FormObj ) {
	var ajax = new Ajax();

	var cat	= FormObj.elements['cat'].value;

	if( cat == '' )
		return alert('Полето за име на категорията е празно');
	else {
		setLoader( 'loader', 'Моля, изчакайте...<br /><br />' );
		var Params = 'title=' + escape(cat);

		ajax.sendRq( 'POST', 'ajax.php?action=cats', ReplaceCatslist, Params, FormObj );
		SetFixes();
	}
}

function EraseMarked( obj, id, table, act ) {
	if( id )
		var ids = id;
	else {
		var frm		= obj.form;
		var cboxes	= frm.elements[table + '[]'];
		var count	= cboxes.length;
		var ids		= '';
		var sep		= '';

		for(i=0; i<count; i++) {
			if( cboxes[i].checked == true )
				ids += ' ' + cboxes[i].value;
		}
	}

	if( ids != '' ) {
		var ajax = new Ajax();

		if( !confirm('Сигурен ли сте?') )
			return;

		setLoader( 'loader2', 'Моля, изчакайте...<br /><br />' );

		ajax.sendRq( 'GET', 'ajax.php?action=' + act + '&ids=' + escape(ids), ReplaceCatslist, null, 'loader2' );
	}
}

function EditCats( frm ) {
	var count	= frm.elements.length;
	var Params	= '';

	for(var i=0; i<count; i++) {
		var item	= frm.elements[i];
		var amp		= Params == '' ? '' : '&';
		var sep		= Params == '' ? '' : '|';
		var mtch	= item.name.match(/^cattext\[(\d+)\]$/);

		if( mtch )
			Params += amp + escape(item.name) + '=' + escape(item.value);
	}

	if( Params != '' ) {
		var ajax = new Ajax();

		setLoader( 'loader2', 'Моля, изчакайте...<br /><br />' );

		ajax.sendRq( 'POST', 'ajax.php?action=cats', ReplaceCatslist, Params, 'loader2' );
	}
}

function ReplaceSubCatslist( response, FormObj ) {
	Element('table').innerHTML = response;

	var loader = !FormObj.is_string ? 'loader' : FormObj;

	setLoader( loader, 'Заявката е изпълнена<br /><br />' );

	if( !FormObj.is_string )
		FormObj.reset();

	SetFixes();
}

function SubmitSubCat( FormObj ) {
	var ajax = new Ajax();

	var subcat	= FormObj.elements['subcat'].value;
	var cat		= FormObj.elements['cat'].value;

	if( subcat == '' )
		return alert('Полето за име на подкатегорията е празно');
	else if( !cat.match(/^\d+$/) )
		return alert('Моля, изберете категория');
	else {
		setLoader( 'loader', 'Моля, изчакайте...<br /><br />' );

		var Params	= 'title=' + escape(subcat) + '&'
					+ 'cat=' + escape(cat);

		ajax.sendRq( 'POST', 'ajax.php?action=subcats', ReplaceSubCatslist, Params, FormObj );
		SetFixes();
	}
}

function EditSubCats( frm ) {
	var Matches	= [ /^subcattext\[(\d+)\]$/, /^catid\[(\d+)\]$/, /^icons\[(\d+)\]$/ ];
	var Count	= frm.elements.length;
	var Params	= [];

	for(var i=0; i<Count; i++) {
		var item	= frm.elements[i];

		for(var j=0; j<3; j++) {
			if( item.name.match( Matches[j] ) ) {
				var mtch	= item.name.match( Matches[j] );
				break;
			}
		}

		if( mtch )
			Params.push(escape(item.name) + '=' + escape(item.value));
	}

	Params = Params.join('&');

	if( Params != '' ) {
		var ajax = new Ajax();

		setLoader( 'loader2', 'Моля, изчакайте...<br /><br />' );

		ajax.sendRq( 'POST', 'ajax.php?action=subcats', ReplaceSubCatslist, Params, 'loader2' );
	}
}

function markAll( obj, elms ) {
	var elms	= obj.form.elements[ elms ];
	if( elms ) {
		var count	= elms.length;

		for(var i=0; i<count; i++)
			elms[i].checked = obj.checked;
	}
}

function OpenCat( obj ) {
	var FormObj	= obj.form;
	var Catid	= obj.value;

	var Conts	= Elements( Element('subcats_cont'), 'div' );
	var Count	= Conts.length;

	for(var i=0; i<Count; i++)
		Conts[i].className = 'hidden';

	Element('sub' + Catid).className = '';

	SetFixes();
}

function CheckThisCat( obj ) {
	var GrandParent	= obj.parentNode.parentNode.parentNode;
	var Parent		= obj.parentNode.parentNode;

	var Inputs		= Elements( GrandParent, 'input' );
	var Count		= Inputs.length;

	for(var i=0; i<Count; i++) {
		if( Inputs[i].parentNode.parentNode != Parent )
			Inputs[i].checked	= false;
	}
}

function SetIcons() {
	var ajax = new Ajax();

	Element('loader').innerHTML = 'Моля, изчакайте...';

	var url = 'ajax.php?action=icons';

	ajax.sendRq('GET', url, ReplaceCatslist, null, 'loader');
	SetFixes();
	
}

IconManager	= {
	C_Element	: null,

	GetIcon : function( OBJ, ID, e ) {
		var FormObj		= document.forms['scform'];
		this.C_Element	= FormObj.elements['icons[' + ID + ']'];

		var y	= e.clientY ? e.clientY : e.pageY;
		var x	= e.clientX ? e.clientX : e.pageX;

		y += document.documentElement.scrollTop;

		Element('ciframe').style.left		= x + 'px';
		Element('ciframe').style.top		= y + 'px';
		Element('cicon').style.left			= x + 'px';
		Element('cicon').style.top			= y + 'px';

		Element('ciframe').style.display	= 'block';
		Element('cicon').style.display		= 'block';

		Element('cicon').scrollTop			= 0;

		document.onmouseup	= function( e ) {
			e	= e ? e : window.event;
			var Target	= e.target ? e.target : e.srcElement;

			if( Target.parentNode.id != 'cicon' ) {
				Element('ciframe').style.display	= '';
				Element('cicon').style.display		= '';
			}
		}
	},

	SetIcon : function( URI ) {
		var Parent	= this.C_Element.parentNode;
		var IMG		= Elements(Parent,'img')[0];

		IMG.src	= '../upload/icons/' + URI;
		this.C_Element.value = URI;
	}
};

function redir( File, ID ) {
	window.location = File + '.php?action=edit&id=' + ID;
}


$(function() {
	$("select[name=rate]").change(function() {
		var flv = $('input[name=flv]').val();
		var vote = $(this).val();
		
		$.get('vote.php', { id: flv, val: vote }, function(data) {
			if(data == "Check!")
			{
				alert("Благодарим Ви, че гласувахте!");
				$("#ratebox").hide();
			}
		});
	});
});

window.onload=function() {
	if( rtframes ) {
		InputLangs('textarea');
		InputLangs('input');
	}
	SetFixes();
}
