function initSelect() {
	document.getElementById('region').disabled = (document.getElementById('country').value==0)?true:false;
	document.getElementById('city').disabled = (document.getElementById('region').value==0)?true:false;
}

function requestError (sid, msg) {
	sid.options.length = 0;
	sid.disabled = true;
	sid.options[sid.options.length] = new Option(msg, 0, false, false);
}

function disableSelect(fs) {
	sidr = document.getElementById("region");
	sidc = document.getElementById("city");
	switch (fs) {
		case('region'):
			sidr.options.length = sidc.options.length = 0;
			sidr.disabled = sidc.disabled = true;
			sidr.options[sidr.options.length] = new Option("--- не имеет значения ---", 0, false, false);
			sidc.options[sidc.options.length] = new Option("--- не имеет значения ---", 0, false, false);
			break;
		case('city'):
			sidc.options.length = 0;
			sidc.disabled = true;
			sidc.options[sidc.options.length] = new Option("--- не имеет значения ---", 0, false, false);
	}
}

function updateSelect (selectId, optValue, fs) {
	if (!xmlHttp)
		return false;
	if (optValue == 0) {
		disableSelect(fs);
		return false;
	}
	if (selectId == 'region') {
		disableSelect('city');
	}
	sid = document.getElementById(selectId);
	sid.options.length = 0;
	sid.disabled = true;
	sid.options[sid.options.length] = new Option("Подождите, идет загрузка...", 0, false, false);
	var url = "/?a=geojs&m=" + fs + "&code=" + optValue;
	xmlHttp.open("GET", url, true);
	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {
			try {
				eval("var geo = " + xmlHttp.responseText);
			}catch(e){
				requestError (sid, 'Ошибка на сервере.');
				return false;
			}
			if ((typeof geo != 'object')||(geo === null)) {
				requestError (sid, 'Ошибка на сервере.');
				return false;
			}
			sid.options.length = 0;
			sid.options[sid.options.length] = new Option("--- не имеет значения ---", 0, false, false);
			for(var i in geo) {
				sid.options[sid.options.length] = new Option(geo[i], i, false, false);
			}
			sid.disabled = false;
		}
	}
	xmlHttp.send(null);
}

function openContact(url, name, width, height) {
	if (!width) width = 600;
	if (!height) height = 650;
	var w = window.open(url, name,"width="+width+",height="+height+",resizable=1,toolbar=0,location=0,status=0,menubar=0,directories=0,scrollbars=yes,top=0,left=0");
	w.focus();
}

var clientPC = navigator.userAgent.toLowerCase();
var clientVer = parseInt(navigator.appVersion);
var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
                && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
                && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
var is_moz = 0;
var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac = (clientPC.indexOf("mac")!=-1);

function mozillaWr(textarea, open, close)
{
    var selLength = textarea.textLength;
    var selStart = textarea.selectionStart;
    var selEnd = textarea.selectionEnd;
    if (selEnd == 1 || selEnd == 2) selEnd = selLength;
    var s1 = (textarea.value).substring(0,selStart);
    var s2 = (textarea.value).substring(selStart, selEnd);
    var s3 = (textarea.value).substring(selEnd, selLength);
    textarea.value = s1 + open + s2 + close + s3;
    textarea.selectionEnd = 0;
    textarea.selectionStart = selEnd + open.length + close.length;
    return;
}


function insert_into_position_cursor(text) {
    var textarea = document.getElementById('message');
    if (textarea.createTextRange) {
	document.selection.createRange().text=text;
    } else {
	if (document.getElementById) {
    	    mozillaWr(textarea, '', text);
        } else { textarea.value += text; }
    }
    textarea.focus();
}

function addSmile(text) {
    document.getElementById('message').focus();
    insert_into_position_cursor(text);
}

function InsertHTMLFCKEditor(_html) {
	var oEditor = FCKeditorAPI.GetInstance('message') ;
	if ( oEditor.EditMode == FCK_EDITMODE_WYSIWYG ) {
		// Insert the desired HTML.
		oEditor.InsertHtml(_html) ;
	} else {
		alert( 'Вы должны переключиться в режим визуального редактирования!' ) ;
	}
}

function ExecuteCommandFCKEditor( commandName ) {
	// Get the editor instance that we want to interact with.
	var oEditor = FCKeditorAPI.GetInstance('message') ;
	// Execute the command.
	oEditor.Commands.GetCommand( commandName ).Execute() ;
}

function GetContents() {
	// Get the editor instance that we want to interact with.
	var oEditor = FCKeditorAPI.GetInstance('message') ;
	return  oEditor.GetXHTML( true ) ;
}

function ajaxPreview(){
	var winpreview = window.open('about:blank', 'previewWindow',"width=700,height=600,resizable=1,toolbar=0,location=0,status=0,menubar=0,directories=0,scrollbars=yes,top=0,left=0");
	message = GetContents();
	var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
		//	winpreview.document.writeln(req.responseText);
		//	var elem = (document.all) ? winpreview.document.all('messageblock') : winpreview.document.getElementById('messageblock');
		/*	if (document.all) {
				var elem = winpreview.document.all('messageblock');
				elem.innerHTML = req.responseText;
			} else if (document.getElementById) {
				var elem = winpreview.document.getElementById('messageblock');
				elem.innerHTML = req.responseText;
			}
		*/
		//document.getElementById('messageblock').innerHTML = req.responseText;
			winpreview.document.writeln(req.responseText);
			winpreview.focus();
		} 
	}
	req.open('POST', '/ajax/preview.php', true);
	req.send( { message: message } );
}

function ajaxratephoto(phid, point){
	var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			document.getElementById('ratephoto').innerHTML = req.responseText;
		}
	}
	req.open('POST', '/ajax/ratephoto.php', true);
	req.send( { phid: phid, rating: point } );
}

function sendinvatetofriend(){
	var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			document.getElementById('sendinvitetofriend_content').innerHTML = req.responseText;
		}
	}
	senddata = document.getElementById('inviteusertofriend_senddata').value;
	to_user = document.getElementById('inviteusertofriend_to_user').value;
	comment = document.getElementById('inviteusertofriend_comment').value;
	req.open('POST', '/ajax/sendinvitetofriend.php', true);
	req.send( { senddata: senddata, to_user: to_user, comment: comment } );
}
function changemystatus(){
	var req = new JsHttpRequest();
	$("#load_my_status").show();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			$("#load_my_status").hide();
			$('#setmystatus_submit').hide();
			$('#my_status_text').hide();
			if (my_status==-1 && my_status_text!=''){
				$("#my_status_select").html(req.responseText);
				$().ready(function() {
					$("#my_status").jListbox();
				});
			}
		}
	}
	my_status = document.getElementById('my_status').value;
	if (my_status==-1){
		my_status_text = document.getElementById('my_status_text').value;
	} else {
		my_status_text = '';
	}
	if (my_status!=-1 || (my_status==-1 && my_status_text!='')){
		req.open('POST', '/ajax/setmystatus.php', true);
		req.send( { my_status: my_status, my_status_text: my_status_text } );
	} else {
		$('#load_my_status').hide();
		alert('Необходимо ввести текст статуса перед отправкой');
	}
}
function view_div(_divID){
	t = document.getElementById(_divID).style.display;
	if (t=='none') {
		document.getElementById(_divID).style.display = 'block';	
	} else {
		document.getElementById(_divID).style.display = 'none';
	}
	return false;
}

function submitForm(form) {
	for( var i = 0, n = form.elements.length; i < n; i++ )	{
		var Input	= form.elements[i];
		if( Input.type.toLowerCase() == 'submit' )
		{
			Input.value		= 'Идёт отправка...';
			Input.disabled	= true;
		}
	}
	form.submit();
}

var __focus=true;
function isFocus(__focus){
	try{
		if (__focus) {
			/* в этом случае мы можем сделать что-то, когда окно активно.
			   увы, но это утверждение не всегда верно, по крайней мере в FF */
			try{window.clearInterval(__idtitle);document.title = __title;}catch(e){};
		} else {
			/* окно скорее всего не активно, можем произвести какие-либо действия */
			return false;
		}
	}catch(e){ };
	return true;
}
function getFocus(){
	if (__focus) {
		return true
	} else {
		return false;
	}
}
var _CheckAllContacts_Checked = false;
function _CheckAllContacts() {
    if (_CheckAllContacts_Checked) _CheckAllContacts_Checked = false;
     else _CheckAllContacts_Checked = true;

    var v_Form = document.forms["contacts"];
    for (var i=0; i<v_Form.elements.length; i++)  {
        if (v_Form.elements[i].name.indexOf("uid[]") == 0) {
            v_Form.elements[i].checked = _CheckAllContacts_Checked
        }
    }
}