//iitodo переписать для использования без jquery
var informb_r_url='r.totoro.com.ua';
if(informb_r_is_local){
	informb_r_url='r.rserver.here';
}
var informb_r_protocol='http';
var informb_r_safari_submited= 0;
var informb_r_geted= false;
var informb_r_elements;

$(function(){
	var isSafari = (/Safari/.test(navigator.userAgent));
	var isChrome = (/Chrome/.test(navigator.userAgent));
	var isOpera = (/Opera/.test(navigator.userAgent));

	if ((isSafari && !isChrome)|| isOpera) {
		$("body").append('<iframe id="informb_r_sessionframe" name="informb_r_sessionframe" onload="informb_r_safari_submit_form()" src="'+informb_r_protocol+'://'+informb_r_url+'/blank.html" style="display:none;"></iframe><form id="informb_r_sessionform" enctype="application/x-www-form-urlencoded" action="'+informb_r_protocol+'://'+informb_r_url+'/r_getu.php" target="informb_r_sessionframe" action="post"></form>');
	} else {
		informb_r_get();
	}
});

function informb_r_safari_submit_form() {
	if (informb_r_safari_submited == 0) {
		informb_r_safari_submited = 1;
		$("#informb_r_sessionform").submit();
		//iitodo setTimeout в опере почему то выполняется сразу !!!, а вообще бы неплохо разремить
		//setTimeout(informb_r_get(),10000);
	}else if (informb_r_safari_submited == 1) {
		informb_r_safari_submited = 2;
		informb_r_get();
	}
}

function informb_r_get() {
	if(informb_r_geted){
		return false;
	}
	informb_r_geted=true;

	var ajax_data=new Object();
	var user_date = new Date();
	//iitodo может все таки отправлять время и считать разницу т.к. часовой пояс может у людей стоять не правильный а время правильное
	//iitodo и посмотри http://www.onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/
	var user_timezone=user_date.getTimezoneOffset()*(-1);

	var sep="";
	ajax_data.pparams='{"p_data":[';
	$(".informb_r").each(function(indx, element){
		ajax_data.pparams+=sep+'{"div_id":"'+$(element).attr("id")+'",'+$(element).attr("params")+'}';
		sep=",";
	});
	ajax_data.pparams+='],"g_data":{"site_id":'+informb_r_site_id+',"timezone":'+user_timezone+',"page_title":"'+encodeURI($("title").text().substr(0,512))+'"}}';

	if(informb_r_safari_submited>0){
		ajax_data.presubmited=true;
	}
	$.ajax({url: informb_r_protocol+"://"+informb_r_url+"/r_get.php", dataType: "jsonp", data:ajax_data , crossDomain: true, cache: false, jsonp:true, jsonpcallbackString: "informb_r_loaded"});
}

function informb_r_loaded(elements) {
	for(var i=0; i<elements.length; i++) {
		elements[i].target_div=$("#"+elements[i].div_id);
		elements[i].viewed=false;
		informb_r_show(elements[i]);
	}
	informb_r_elements=elements;
	$(window).scroll(informb_r_onscroll);
	informb_r_onscroll();
}

function informb_r_onscroll(){
	for(var i=0; i<informb_r_elements.length; i++) {
		if(!informb_r_elements[i].viewed){
			el_x=informb_r_elements[i].target_div.offset().left;
			el_x_plus_w=informb_r_elements[i].target_div.offset().left+(informb_r_elements[i].target_div.width()*0.9);
			el_y=informb_r_elements[i].target_div.offset().top;
			el_y_plus_w=informb_r_elements[i].target_div.offset().top+(informb_r_elements[i].target_div.height()*0.9);
			if(	(el_x>=$(window).scrollLeft())
				&(el_x_plus_w<=($(window).scrollLeft()+$(window).width()))
				&(el_y>=$(window).scrollTop())
				&(el_y_plus_w<=($(window).scrollTop()+$(window).height()))){
				informb_r_elements[i].viewed=true;
				informb_r_view(informb_r_elements[i]);
			}
		}

	}
}

function informb_r_show(element) {
	var element_html="";

	if(element.format.substr(0,5)=="image"){
		element_html="<a href='"+element.link+"'  target='"+element.target+"'><img src='"+element.src+"' width='"+element.width+"' height='"+element.height+"' border='0'></a>";
	}else{
		//
	}
	//iitodo Дописать код для swf
	//iitodo Дописать код для iframe
	//iitodo Дописать код для js
	if(element.width>0){
		element.target_div.width(element.width);
	}
	if(element.height>0){
		element.target_div.height(element.height);
	}
	element.target_div.html(element_html);
}

function informb_r_view(element) {
	$.ajax({url: element.view, dataType: "jsonp", crossDomain: true, cache: false, jsonp:true});
//	alert("Showed: "+element.div_id);
}
