var isInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;

function actFuncVar(flashid,func,value) {
	var actedObj = isInternetExplorer ? document.all[flashid] : document[flashid];
	actedObj.SetVariable(func,value);
}

function get_shows(base_url){    var main = document.getElementById("year");
	get_dates(base_url, main.value);

}

function get_dates(base_url,year){	//alert('function 2 ' + year + base_url);
	var url = base_url + 'ajax/?year=' + year;
	//alert(url);
    request.open("GET", url, true);
    request.onreadystatechange = updatePage;
    request.send(null);

}


function invite_user_ajax(email_usr, mess_usr){	//alert('11111');	if(mess_usr == 'напишите здесь ему личное сообщение если нужно') mess_usr = '';	var url = base_url + 'ajax/?invite=1&email_usr=' + escape(email_usr) + '&mess_usr=' + escape(mess_usr);
	//alert(url);
    request.open("GET", url, true);
    request.onreadystatechange = updatePage8;
    request.send(null);}


function send_message(id,private_flag,new_message){
	//alert('hi');

	var url = base_url + 'site/comments/?id=' + id + '&new_message=' + escape(new_message) + '&ajax=1';
	//alert('url = ' + url);
	if(private_flag == true ){		url = url + '&private_messages';
		//alert('to_pruser_id' + to_pruser_id);
		if(to_pruser_id) url = url + '&to_pruser_id=' + to_pruser_id;	}
    //alert(url);
	// alert(private_flag);
	//alert(url);
    request.open("GET", url, true);
    request.onreadystatechange = updatePage5;
    request.send(null);


}


//функция выполняющая запрос getURL с интервалом timeInterval миллисекунд
function sendIntervalTime(getURL,timeInterval){
	getURL += '&random='+Math.random();
	request.open('GET', getURL, true);
	request.onreadystatechange = updatePage6;
	request.send(true);
	//window.setTimeout('sendIntervalTime(' + getURL + ','+timeInterval+')', timeInterval);
return true;
};

/*
function mark_it_message(id, user_id, mark){
	request.open("GET", base_url + 'ajax/?id_message_mark=' + id + '&id_user=' + user_id + '&mark=' + mark, true);
    request.onreadystatechange = updatePage4;
    request.send(null);
}

function updatePage4(){
   	if (request.readyState == 4)
       if (request.status == 200){
         response = request.responseText;
         insert_rank(response);
       }
       else
         alert("Error: status code is " + request.status );

}

function insert_rank(str_data){
    var temp = new Array();
    temp = str_data.split('[|]');
    document.getElementById('now_mark_' + temp[2]).innerHTML = temp[0];
    document.getElementById('now_user_mark_' + temp[2]).innerHTML = 'Вы оценили как: ' + ((temp[1] > 0) ? '+': '') + temp[1];

}
*/

function change_picture(id, to_src){	var main = document.getElementById(id);
	main.src = to_src;}

function colour_rombs(mark){	for(i=1; i <= 5; i++){
		var romb_main = document.getElementById('romb_' + i);
		//alert(document.getElementById('romb_1'));
		//alert('base_url = ' + base_url + ' mark = ' + mark + ' i = ' + i);
		if(i <= mark) romb_main.src = base_url + 'public/images/icons/romb_white_5.jpg';
		else romb_main.src = base_url + 'public/images/icons/romb_white_0.jpg';
		//alert(romb_main);
		//alert(to_src);
	}}

function change_rating_img(id_name, from_src, to_src){	var src_arr = id_name.split('_');
	//var id = src_arr[1];
    //alert(id_name);

	for(i=1; i <= 5; i++){		var main = document.getElementById(src_arr[0] + '_' +i);
		if(i <= src_arr[1]) main.src = base_url + 'public/images/icons/romb_white_' + to_src;
		else main.src = base_url + 'public/images/icons/romb_white_' + from_src;
		//alert(to_src);	}

    /*
	var main = document.getElementById(id_name);

	var url = base_url + 'ajax/?id=' + main.value;

	request.open("POST", url, true);
    request.onreadystatechange = updatePage2;
    request.send(null);
	//alert(url);
	*/
}

function mark_game(base_url, id_game, mark_game){
	var url = base_url + 'system/game/?id=' + id_game + '&mark=' + mark_game;
    //alert(url);
	request.open("GET", url, true);
    request.onreadystatechange = updatePage3;
    request.send(null);

}

function to_favourite(id, add){	if(add == true) var url = base_url + 'ajax/?id_tree=' + id;
	else var url = base_url + 'ajax/?id_tree=' + id + '&del';

	request.open("GET", url, true);
    request.onreadystatechange = updatePage4;
    request.send(null);
}


function get_pictures(base_url){	var main = document.getElementById("shows");
	var url = base_url + 'ajax/?id=' + main.value;

	request.open("POST", url, true);
    request.onreadystatechange = updatePage2;
    request.send(null);	//alert(url);}

function get_var(var_name, cid){	var url = base_url + 'ajax/?cid=' + cid + '&var=' + var_name;

	request.open('POST', url, true);
    request.onreadystatechange = updatePage7;
    request.send(null);}


function updatePage(){
   	if (request.readyState == 4)
       if (request.status == 200){
         response = request.responseText;
         insert_text(response);
       }
       //else alert("Error: status code is " + request.status );

   }
function updatePage2(){
   	if (request.readyState == 4)
       if (request.status == 200){
         response = request.responseText;
         //insert_images(response);
         //alert(response);
         //var temp2 = new Array();
    	 var temp = response.split('[||]');

         actFuncVar('topmenu','_root.lineObj.run',temp[0]);
         add_data(temp);

       }
       //else alert("Error: status code is " + request.status );

   }

function updatePage3(){
   	if (request.readyState == 4)
       if (request.status == 200){
         response = request.responseText;
         //alert(response);
         if(typeof response != 'undefined' && response){
    	 	var temp = response.split('[,]');
    	 	it_game_user_rating = temp[0];
    	 	colour_rombs(temp[0]);
         	add_data(temp);
         }
         else alert('Для голосования за игру вам необходимо авторизоваться!');

       }
       //else alert("Error: status code is " + request.status );

   }

function updatePage4(){
   	if (request.readyState == 4)
       if (request.status == 200){
         response = request.responseText;
         //alert(response);
         if(response == 'true'){         	document.getElementById('favourite_add').style.display = 'none';
         	document.getElementById('favourite_add1').style.display = 'none';
         	document.getElementById('favourite_del').style.display = 'inline';
         	document.getElementById('favourite_del1').style.display = 'inline';         }
         else{         	document.getElementById('favourite_del').style.display = 'none';
         	document.getElementById('favourite_del1').style.display = 'none';
         	document.getElementById('favourite_add').style.display = 'inline';
         	document.getElementById('favourite_add1').style.display = 'inline';         }

    	 //var temp = response.split('[,]');
    	 //colour_rombs(temp[0]);
         //dd_data(temp);

       }
       //else alert("Error: status code is " + request.status );

   }


function updatePage5(){
   	if (request.readyState == 4)
       if (request.status == 200){
         response = request.responseText;
         //alert('response = ' + response);
       }
       //else alert("Error: status code is " + request.status );
   }


function updatePage6(){
   	if (request.readyState == 4)
       if (request.status == 200){
         response = request.responseText;
         //alert(response);
       }
       //else alert("Error: status code is " + request.status );
   }


function updatePage7(){
   	if (request.readyState == 4)
       if (request.status == 200){
         response = request.responseText;

         if(typeof response != 'undefined' && response){
         	var temp = response.split('[||]');
         	if(temp[0] == 'user_rating'){         		colour_rombs(temp[1]);
         		it_game_user_rating = temp[1];         		document.getElementById('av_rating').innerHTML = temp[2];         	}
         	if(temp[0] == 'in_fovourite'){         		//alert('response = ' + response);         		if(temp[2] == 1 && temp[1] != 1){
         			document.getElementById('favourite_add').style.display = 'none';
         			document.getElementById('favourite_add1').style.display = 'none';
         			document.getElementById('favourite_del').style.display = 'inline';
         			document.getElementById('favourite_del1').style.display = 'inline';
         		}
         		else{
         			document.getElementById('favourite_del').style.display = 'none';
         			document.getElementById('favourite_del1').style.display = 'none';
         			document.getElementById('favourite_add').style.display = 'inline';
         			document.getElementById('favourite_add1').style.display = 'inline';
         		}
         	}

         }
         //if(response) from_ajax_var = response;
         //alert('from_ajax_var =' + from_ajax_var);
       }
       //else alert("Error: status code is " + request.status );
   }

function updatePage8(){	if (request.readyState == 4)
       if (request.status == 200){
         response = request.responseText;
         // alert('response = ' + response);
         if(response == 1) alert('Приглашение успешно отправлено!');
         if(response == 0) alert('Не получилось отправить приглашение, попробуйте позже!');
         if(response == -1) alert('Для отправки приглашения с аккаунта пользователя, вам необходимо авторизоваться!');

         if(response == 1){         	document.getElementById('id_email_invite_usr').value = '';
         	document.getElementById('id_mess_invite_usr').value = 'напишите здесь ему личное сообщение если нужно';
         }

         //alert(response);
       }
       //else alert("Error: status code is " + request.status );
}


function add_data(array){	// 1
	//(if typeof array[3] != 'undefined') document.getElementById('av_rating').innerHTML = array[3];	//(if typeof array[1] != 'undefined') document.getElementById('all_rating').innerHTML = array[1];

	document.getElementById('av_rating').innerHTML = array[3];
	document.getElementById('all_rating').innerHTML = array[1];


	//var textelement = document.createTextNode(array[1]);
   	//action_name.appendChild(textelement);
	// 2
	//var action_terrain = document.getElementById("action_terrain");
	//action_terrain.innerHTML = array[2];
	//var textelement = document.createTextNode(array[2]);
   	//action_terrain.appendChild(textelement);
   	//(3.2489).toFixed(2);
	// 3

	//av_rating.innerHTML = array[3];
	//var textelement = document.createTextNode(array[3]);
   	//content.appendChild(textelement);
	//alert(array[1]);
	//alert(array[2]);
	//alert(array[3]);}





function insert_text(str_data){
   	var myDocument = document;
    var htmlElement = myDocument.documentElement;
   	var bodyElement = document.getElementById("shows");

    for(var i=bodyElement.childNodes.length-1; i >= 0; i--){
          var currentNode = bodyElement.childNodes[i];
          bodyElement.removeChild(currentNode);
    }

    var temp = new Array();
    temp = str_data.split('[|]');
    for(var i=0; i<=temp.length; i++){    	if(temp[i]){    		var temp2 = new Array();
    		temp2 = temp[i].split('[,]');
    		var selectElement = document.createElement("option");
            selectElement.setAttribute("value", '' + temp2[0]);
            selectElement.setAttribute("id", '' + temp2[0]);
   			var textelement = document.createTextNode(' ' + temp2[2] + ' ' + temp2[3] +' "' + temp2[1] + '"');
   			selectElement.appendChild(textelement);
    		bodyElement.appendChild(selectElement);
    	}

    }
    get_pictures(base_url);

}




var request = false;
try {
  request = new XMLHttpRequest();
} catch (trymicrosoft) {
  try {
    request = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (othermicrosoft) {
    try {
      request = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (failed) {
      request = false;
    }
  }
}

if (!request)
  alert("Error initializing XMLHttpRequest!");


var StartX = null;
var StartY = null;
var positionX = null;
var positionY = null;
var leftX,leftY,rightX,rightY;
var div = '';
var layer = null;
var IMG_processing = null;
var element_cut = null;
var element_signature = null;
var textarea = '';
var input_textarea = '';
var context;


//убирание выделения
function allocation_resize_exit(){	div.style.width='0px';
	div.style.height='0px';
	div.style.top = '-100px';
	div.style.left = '-100px';

	return true;
};

//остановка выделения
function allocation_for_image_exit(event)
{	IMG_processing.onmousemove = '';
	div.onmousemove = '';
	div.style.border = '3px solid red';

	//alert(leftX+':'+leftY+'-'+rightX+':'+rightY);
	//alert('размер изображения:'+IMG_processing.width+'x'+IMG_processing.height);
	//window.location = base_url+'editimage/'+'?file_src='+escape(IMG_processing.src)+'&leftx='+leftX+'&lefty='+leftY+'&rightx='+rightX+'&righty='+rightY+'&width='+IMG_processing.width+'&height='+IMG_processing.height;
	return true;
};

//расширение или уменьшение размера выделения
function allocation_for_image_relocation(event)
{	if(navigator.appName == 'Microsoft Internet Explorer'){
		positionX = event.clientX+document.all[1].scrollLeft;
		positionY = event.clientY+document.all[1].scrollTop;
	}
	else{
		positionX = event.pageX;
		positionY = event.pageY;
	};

if (positionX > StartX){
	div.style.width = positionX - StartX+'px';
}
else{	div.style.left = StartX - (StartX - positionX)+'px';
	div.style.width = StartX - positionX+'px';
};

if (positionY > StartY){
	div.style.height = positionY - StartY+'px';
}
else{
	div.style.top = StartY - (StartY - positionY)+'px';
	div.style.height = StartY - positionY+'px';
};

document.getElementById('blin').innerHTML = positionX+'-'+positionY;return true;
};


//начало выделения элемента
function allocation_for_image(eventName,IMG_object){

	if (eventName.which != '1'){return false;}; //если выделение делается не левой кнопкой мыши - принудительно отменить;

	if(navigator.appName == 'Microsoft Internet Explorer'){
		StartX = eventName.clientX+document.all[1].scrollLeft;
		StartY = eventName.clientY+document.all[1].scrollTop;
	}
	else{
		StartX = eventName.pageX;
		StartY = eventName.pageY;
	};

	if (typeof(div) != 'object'){		pos = 0;
   		div = document.createElement('div');
     	//element_cut - элемент вырезания
   		element_cut = document.createElement('div');
   		element_cut.appendChild(document.createTextNode('C'));
   		element_cut.style.position = 'absolute';
		element_cut.style.left = '-20px';

        //element_signature - элемент подписывания
 		element_signature = document.createElement('div');
   		element_signature.appendChild(document.createTextNode('T'));
   		element_signature.style.position = 'absolute';
        element_signature.style.left = '-20px';
        element_signature.style.top = '20px';

        div.appendChild(element_cut);
        div.appendChild(element_signature);


		div.style.position = 'absolute';
		div.style.zindex = '3';
		document.body.appendChild(div);
	};

	div.style.width = '0px';
	div.style.height = '0px';
	div.style.top = StartY+'px';
	div.style.left = StartX+'px';
	div.style.border = '3px dotted red';
    div.appendChild(document.createTextNode(''));

	//копируем внутренний обьект во внешнюю сущность
    IMG_processing = IMG_object;
   	IMG_processing.param = getObjParams(IMG_object);
    IMG_processing.style.display = 'none';
    setTimeout('image_dump_for_cursor()',1); //требуется для сброса курсора вытягивания изображения

    //действие при выделении
	IMG_processing.onmousemove = function(event){allocation_for_image_relocation(event);};
	//действие при окончании выделения
    IMG_processing.onmouseup = function(event){allocation_for_image_exit(event);};

	//действие при активизации вырезания
	element_cut.onmousedown = function(event){image_element_cut(event);};
	//действие при активизации подписывания
	element_signature.onmousedown = function(event){image_element_signature(event);};

	//действие при выделении
    div.onmousemove = function(event){allocation_for_image_relocation(event);};
    //действие при клике внутри выделения
    div.onmousedown = function(event){allocation_resize_exit(event);};
    //действие при окончании выделения
    div.onmouseup = function(event){allocation_for_image_exit(event);};
};

function image_dump_for_cursor(){	IMG_processing.style.display = "inline";
};

//вырезание элемента
function image_element_cut(event)
{
	if (positionX < StartX){
	leftX = positionX;
	rightX = StartX;
	}
	else{
	leftX = StartX;
	rightX = positionX;
	};

	if (positionY < StartY){
		leftY = positionY;
		rightY = StartY;
	}
	else{
		leftY = StartY
		rightY = positionY;
	};

	leftX -= IMG_processing.param.x;
	leftY -= IMG_processing.param.y;

	rightX -= IMG_processing.param.x;
	rightY -= IMG_processing.param.y;	alert(leftX+':'+leftY+'-'+rightX+':'+rightY);
	alert('размер изображения:'+IMG_processing.width+'x'+IMG_processing.height);
	window.location = base_url+'editimage/'+'?action=cut&file_src='+escape(IMG_processing.src)+'&leftx='+leftX+'&lefty='+leftY+'&rightx='+rightX+'&righty='+rightY+'&width='+IMG_processing.width+'&height='+IMG_processing.height;
};

//отображение элемента для ввода текста
function image_element_signature()
{
	if (typeof(textarea) == 'string'){
		textarea = document.createElement('textarea');
		input_textarea = document.createElement('input');
		input_textarea.setAttribute("type", 'submit');
		input_textarea.setAttribute("value", 'сохранить');
		div.appendChild(textarea);
		div.appendChild(input_textarea);
	}
	else{
		if (textarea.style.display == 'inline'){			textarea.style.display = 'none';
			input_textarea.style.display = 'none';
		}
		else{			textarea.style.display = 'inline';
			input_textarea.style.display = 'inline';
		};
	};

	input_textarea.onclick = function(event){write_text_image(textarea.value,'view');};
	div.onmousedown = '';
};

//запись текста на изображение(char текст,char команда)
function write_text_image(text,action)
{	if (positionX < StartX){
		leftX = positionX;
		rightX = StartX;
	}
	else{
		leftX = StartX;
		rightX = positionX;
	};

	if (positionY < StartY){
		leftY = positionY;
		rightY = StartY;
	}
	else{
		leftY = StartY
		rightY = positionY;
	};

	leftX -= IMG_processing.param.x;
	leftY -= IMG_processing.param.y;

	rightX -= IMG_processing.param.x;
	rightY -= IMG_processing.param.y;

	textarea.style.display = 'none';
	input_textarea.style.display = 'none';

	//если submit - то отправить
	if (action == 'submit'){		window.location = base_url+'editimage/'+'?action=signature&text='+text+'&fontsize='+context.sizeFont+'&file_src='+escape(IMG_processing.src)+'&leftx='+leftX+'&lefty='+leftY+'&rightx='+rightX+'&righty='+rightY+'&width='+IMG_processing.width+'&height='+IMG_processing.height;
	};
	//если view - сохранить только визуально в браузере
	if (action == 'view'){		var value = '';

		var save = document.createElement('div');
		save.appendChild(document.createTextNode('Сохранить'));
		save.onclick = function(event){write_text_image(text,'submit');};

		var up = document.createElement('div');
		up.appendChild(document.createTextNode('->'));
		up.onclick = function(event){edit_text_image('up');};

		var down = document.createElement('div');
		down.appendChild(document.createTextNode('<-'));
		down.onclick = function(event){edit_text_image('down');};

		context = document.createElement('div');
	    context.appendChild(document.createTextNode(textarea.value));
	    if (context.style.fontSize == ''){
			context.style.fontSize = '20pt';
			context.sizeFont = '20';
			context.style.fontFamily = 'Arial Black';
		};

		div.appendChild(context);
		div.appendChild(save);
		div.appendChild(up);
		div.appendChild(down);
	};

};

//функция для увеличения/уменьшения шрифта
function edit_text_image(action)
{	if (context.style.fontSize == '')
	{	context.style.fontSize = '20pt';
	context.sizeFont = '20';
	context.style.fontFamily = 'Arial Black';
	};
switch (action){	//повышение размера шрифта
	case "up":
	context.style.fontSize = ++context.sizeFont +'pt';
	context.style.lineHeight = context.style.fontSize;
	break;
	//понижение размера шрифта
	case "down":
	context.style.fontSize = --context.sizeFont +'pt';
	context.style.lineHeight = context.style.fontSize;
	break;
	};
};

function getObjParams(obj){
var preOx = obj.offsetLeft;
var preOy = obj.offsetTop;
while(obj.offsetParent)
{
   if(obj==document.getElementsByTagName('body')[0]) {break}
   else { obj=obj.offsetParent; };
   preOx += obj.offsetLeft;
   preOy += obj.offsetTop;
};

return {x: preOx, y: preOy, width: ((obj.width)?(obj.width):(obj.offsetWidth)), height: ((obj.height)?(obj.height):(obj.offsetHeight)) };
				};