/*

    Suomitech KY, Suomi.Ru map.
    Kopiointi ilman lupaa on kielletty!
    No copying of code is allowed without permission from Suomitech (www.suomitech.fi).

*/

  var request;
  if( typeof XMLHttpRequest == "undefined" ) {
	request = new ActiveXObject("Microsoft.XMLHTTP");
  } else {
	request = null;
	request = new XMLHttpRequest();
  }

function ajax(url, vars, callbackFunction) {
  request.open("POST", url, true);
  request.setRequestHeader("Content-Type",
                           "application/x-www-form-urlencoded; charset=UTF8;");
 
  request.onreadystatechange = function() {
    if (request.readyState == 4 && request.status == 200) {
      if (request.responseText) {
        callbackFunction(request.responseText);
      }
    }
  };
  request.send(vars);
}

function ajax_delPhoto(placeid,picid){
    ajax(KPL+'/dynamic.php','ac=8&placeid='+placeid+'&val='+picid,okSENT);
    var edp = getObj('edp_'+picid);
    edp.style.display = 'none';
}

function ajax_delpost(placeid){
    if(confirm('Вы точно хотите удалить объект?')){
	ajax(KPL+'/dynamic.php','ac=5&placeid='+placeid,okSENT_delete);
    }
}

function ajax_delpost_noconf(placeid){
	ajax(KPL+'/dynamic.php','ac=5&placeid='+placeid,ok_SENT_alert);
}

function ajax_undeletepost_noconf(placeid){
	ajax(KPL+'/dynamic.php','ac=12&placeid='+placeid,ok_SENT_alert);
}

function ajax_delComment(commid){
    ajax(KPL+'/dynamic.php','ac=3&val='+commid,ok_SENT_alert);
}

function ajax_sendMSG(placeid,userid){
    var comment_msg = getObj('comment_msg');
    var mesgi = encodeURIComponent(comment_msg.value);
    ajax(KPL+'/dynamic.php','ac=2&placeid='+placeid+'&msg='+mesgi+'&val='+userid,ok_comment_SENT);
    comment_msg.value = '';
    var sendcomment = getObj('sendcomment');
    sendcomment.style.display = 'none';
}

function ajax_addfeed(place,msg,auth){
    var mesgi = encodeURIComponent(msg);
    ajax(KPL+'/dynamic.php','ac=7&placeid='+place+'&msg='+msg+'&val='+auth,ok_comment_SENT);
}

function ajax_sendEMAIL(placeid,userid){
    var email_msg = getObj('email_msg');
    var msg = encodeURIComponent(email_msg.value);

    var usermail_msg = getObj('email_email');
    var usermail = encodeURIComponent(usermail_msg.value);

    var email_phone_msg = getObj('email_phone');
    var email_phone = encodeURIComponent(email_phone_msg.value);

    var email_name_msg = getObj('email_name');
    var email_name = encodeURIComponent(email_name_msg.value);
    
    ajax(KPL+'/sendmail.php','placeid='+placeid+'&msg='+msg+'&user='+email_name+'&email='+usermail+'&phone='+email_phone,okSENT);
    var sendmail = getObj('sendmail');
    sendmail.style.display = 'none';
}

function okSENT(response){
    var post_statusline = getObj('post_statusline');
    if(post_statusline != null){
	post_statusline.style.background = '#60FF60';
	post_statusline.innerHTML = response;
    }
}

function ok_comment_SENT(response){
}

function ok_SENT_alert(response){
    alert(response);
}

function okSENT_delete(response){
	window.location.href=KPL+'/index.php?ac=11';
}

function okSENT_silent(response){
}

function getCategoryData(catid){
	ajax(KPL+'/dynamic.php','ac=10&val='+catid,okSENT_categorydata);
}

function getAllData(){
	ajax(KPL+'/dynamic.php','ac=10&val=-1',okSENT_categorydata);
}

function okSENT_categorydata(response){
    if(response.indexOf('[;:|]') > 0){
	var results = response.split('[;:|]');
	
	var posx = ''; var posy = ''; var placeid = 0; var title = ''; var descr = ''; var photos = ''; var feedback = ''; var cat = 0; var rows = 0; 
	var picid = 0; var placenum = 0; var rowpertable = 1;
	
	for(i=0;i<results.length;i+=2){
	    var key = results[i]
	    var val = results[i+1];
	    if((key != null) && (val != null) && (val != 'undefined')){
		switch(key){
		    case 'row':
			rows = val;
			if(rows > 1){
			    rowpertable = Math.ceil(rows / 3);
			}
			break;
		    case 'pid':
			if(placenum > 0){
			    placeMarker(placeid,title,descr,posx,posy,cat,picid,photos,feedback);
			    addListItem(placeid,title,rowpertable,placenum);
			    photos = '';
			}
			placeid = val;
			placenum++;
			photos = ''; feedback = '';
			break;
		    case 'tit':
			title = val;
			break;
		    case 'des':
			descr = val;
			break;
		    case 'psx':
			posx = val;
			break;
		    case 'psy':
			posy = val;
			break;
		    case 'cat':
			cat = val;
			break;
		    case 'iid':
			picid = val;
			break;
		    case 'ith':
			photos += "<a href=\""+KPL+"/pic/"+picid+"\"><img src=\""+KPL+"/"+val+"\" class=\"reply_pic\" border=0></a>";
			break;
		    case 'comm':
			feedback = val;
			break; 
		}
	    }
	}
	if(placenum > 0){
	    placeMarker(placeid,title,descr,posx,posy,cat,picid,photos,feedback);
	    addListItem(placeid,title,rowpertable,placenum);
	}

	var show_all_obj = getObj('show_all_obj');
        show_all_obj.innerHTML = 'Отобразить все объекты на карте';
    }
}


function getItemData(placeid){
    var mark_found = 0;
    for(i=0;i<map_markers.length;i++){
        if(map_markers[i] != null){
    	    if(map_markers[i].myname == placeid){
		map_markers[i].show();
		GEvent.trigger(map_markers[i],"click");
		mark_found = 1;
	    } else {
		map_markers[i].hide();
	    }
	}
    }
    if(mark_found == 0){
	ajax(KPL+'/dynamic.php','ac=1&placeid='+placeid,okSENT_itemdata);
    }
}

function getItemDataItemsNoHide(placeid){
    var mark_found = 0;
    for(i=0;i<map_markers.length;i++){
        if(map_markers[i] != null){
    	    if(map_markers[i].myname == placeid){
		map_markers[i].show();
		GEvent.trigger(map_markers[i],"click");
		mark_found = 1;
	    }
	}
    }
    if(mark_found == 0){
	ajax(KPL+'/dynamic.php','ac=1&placeid='+placeid,okSENT_itemdata);
    }
}

function okSENT_itemdata(response){
    if(response.indexOf('[;:|]') > 0){
	var results = response.split('[;:|]');
	
	var posx = ''; var posy = ''; var placeid = 0; var title = ''; var descr = ''; var photos = ''; var feedback = ''; var cat = 0;
	var picid = 0;
	
	for(i=0;i<results.length;i+=2){
	    var key = results[i]
	    var val = results[i+1];
	    if((key != null) && (val != null) && (val != 'undefined')){
		switch(key){
		    case 'pid':
			placeid = val;
			break;
		    case 'tit':
			title = val;
			break;
		    case 'des':
			descr = val;
			break;
		    case 'psx':
			posx = val;
			break;
		    case 'psy':
			posy = val;
			break;
		    case 'cat':
			cat = val;
			break;
		    case 'iid':
			picid = val;
			break;
		    case 'ith':
			photos += "<a href=\""+KPL+"/pic/"+picid+"\"><img src=\""+KPL+"/"+val+"\" class=\"reply_pic\" border=0></a>";
			break;
		    case 'comm':
			feedback = val;
			break; 
		}
	    }
	}

	for(i=0;i<map_markers.length;i++){
	    if(map_markers[i] != null){
		map_markers[i].hide();
	    }
	}
	
	var mark = placeMarker(placeid,title,descr,posx,posy,cat,picid,photos,feedback);
	map.setCenter(new GLatLng(posx, posy), 13);
	GEvent.trigger(mark,"click");
	mark.show();
    }
}

function placeMarker(placeid,title,descr,posx,posy,cat,picid,photos,feedback){
    var toptitle = title;
    toptitle = toptitle.replace(/(&#228;)/gi,'a'); // Д
    toptitle = toptitle.replace(/(&#196;)/gi,'A'); // Д
    toptitle = toptitle.replace(/(&#214;)/gi,'O'); // Ц
    toptitle = toptitle.replace(/(&#246;)/gi,'o'); // ц
    toptitle = toptitle.replace(/(&auml;)/g,'a'); // д
    toptitle = toptitle.replace(/(&ouml;)/g,'o'); // ц
    toptitle = toptitle.replace(/(&Auml;)/g,'A'); // Д
    toptitle = toptitle.replace(/(&Ouml;)/g,'O'); // Ц
    toptitle = toptitle.replace(/(&quot;)/gi,"'");

    var mark = createMarker(posx,posy,placeid,"<b>"+title+"</b><br><br>"+descr+"<a href=\""+KPL+"/place/"+placeid+"\">Ссылка на объект</a><br><br><span class='pop_coords'>Координаты:<br>"+posx+', '+posy+'</span>',photos,feedback,cat,toptitle);
    mark.show();
    return mark;
}

function addListItem(placeid,title,pertable,placenum){
    var tab1 = getObj('obj_list_table_1');
    var tab2 = getObj('obj_list_table_2');
    var tab3 = getObj('obj_list_table_3');

    if((pertable > 0) && (placeid > 0) && (title != null)){
	var tablepos = 1;
	if((placenum > pertable) && (placenum < (pertable * 2))){
	    tablepos = 2;
	}
	if(placenum >= (pertable * 2)){
	    tablepos = 3;
	}
    }
}


