// В шаблон
var release_date= "2010_05_26_09";
var domain_name= "iopenstudio.ru";
var p_variables= 10;
//************************
var documentObj= document.body || document.documentElement;

function refreshbox( ourform, box ) {
	doform = document.getElementById(ourform); if ( !doform ) alert( "error" );
	jsAjaxUtil.InsertFormDataToNode(doform, box, true);
	doform.submit();
}

function createCookie( name, value, days ) {
	if ( days ) {
		var date= new Date();
		date.setTime( date.getTime()+( days*24*60*60*1000 ) );
		var expires= "; expires="+ date.toGMTString();
	}
	else var expires = "";
	document.cookie= name+ "="+ value+ expires+ "; path=/; domain="+domain_name;
}

function replace_images () {
	var candidates= document.getElementsByTagName( "img" );
	for ( var c in candidates ) {
		if ( typeof( candidates[c].name ) == "undefined" || !candidates[c].name ) continue;
		candidates[c].src= candidates[c].name;
	}
}

window.onload= function() {
	replace_images();
	init_order();
	slider_start();
	mark_paragraphs();
}

/****************/

var order_types= new Array();

function init_order () {
	var c_obj= document.getElementById( "order_area" ); if ( !c_obj ) return;
	var action= true;
	var pos= 0;
	do {
		var ci_obj= document.getElementById( "order_"+pos ); 
		if ( ci_obj ) {
			ci_obj.pos= pos;
			ci_obj.onmouseover= function () { this.className= "gbo_item gboi_active"; }
			ci_obj.onmouseout= function () { this.className= "gbo_item"; }
			ci_obj.onclick= function () { order_init( this.pos ); }
			order_types[ pos ]= ci_obj;
		} else {
			action= false;
			break;
		}
		pos++;
	} while ( action );
	
}

function order_init ( pos ) {
	//alert( "Чё, в натуре? Заказать хош?\n\n"+order_types[ pos ].title );
	
	if ( typeof( order_types ) == "undefined" || typeof( order_types[ pos ] ) == "undefined" || !order_types.length ) return;
	//Прописываем тип заявки и сворачиваем не нужные типы
	var type_obj= document.getElementById( "request_type" ); if ( !type_obj ) return;
	type_obj.value= order_types[ pos ].title;
	
	order_types[ pos ].onclick= function() {}
	order_types[ pos ].onmouseover= function() {}
	order_types[ pos ].ononmouseout= function() {}
	
	for ( var p= 0; p < order_types.length; p++ ) {
		if ( p == pos ) continue;
		order_hide_item( p );
	} //end for
}

var order_min_height= 20; 
var order_height_step= 20;
var order_timers= new Array();
var order_time_step= 30;

function order_hide_item ( pos ) {
	obj= order_types[ pos ];
	
	clearTimeout( order_timers[ pos ] );
	var cur_height= parseFloat( obj.clientHeight ); 
	if ( cur_height <= order_min_height ) { obj.style.height= "0"; return; }
	
	obj.style.height= ( cur_height - order_height_step )+"px";
	order_timers[ pos ]= setTimeout( "order_hide_item( "+pos+" )", order_time_step );
}

function order_check_and_send( prefix ) {
	var persona_obj= document.getElementById( prefix+"_persona" ); if ( !persona_obj ) return;
	var email_obj= document.getElementById( prefix+"_email" ); if ( !email_obj ) return;
	var phone_obj= document.getElementById( prefix+"_phone" ); if ( !phone_obj ) return;
	
	if ( !persona_obj.value ) { alert( "Не введено контактное лицо" ); return; }
	if ( !email_obj.value ) { alert( "Не введён электронный адрес" ); return; }
	if ( email_obj.value.indexOf( "@" ) == -1 ) { alert( "Не верный формат электронного адреса" ); return; }
	if ( !phone_obj.value ) { alert( "Не введён телефон для связи" ); return; }
	
	phone_obj.form.submit();
}

/********* paragraphs *********/

function mark_paragraphs () {
	var w_obj= document.getElementById( "gbc_workarea" ); if ( !w_obj ) return;
	var candidates= w_obj.getElementsByTagName( "p" );
	for ( var c in candidates ) {
		if ( typeof( c ) == "undefined" || !c ) continue;
		if ( typeof( candidates[c] ) == "undefined" || !candidates[c] ) continue;
		//if ( typeof( candidates[c].parentNode ) == "undefined" || !candidates[c].parentNode ) continue;
		//if ( candidates[c].parentNode.id != "gbc_workarea" ) continue;
		
		var rand= parseInt( Math.random( )*(p_variables+1) );
		if ( rand == 0 ) rand= 1;
		candidates[c].className= "p_"+rand;
	}
}


/*********** slider **************/

function slider_start() {
	if ( !slider_karkas ) { slider_karkas= document.getElementById( "slider_karkas" ); if ( !slider_karkas ) return; }
	if ( !slider_flyer ) { slider_flyer= document.getElementById( "slider_flyer" ); if ( !slider_flyer ) return; }
	//slider_flyer.style.left= "0";
	//Нам нужно посчитать, какой ширины сделать монитор
	var candidates= slider_flyer.getElementsByTagName( "div" );
	var total_width= 0;
	for ( var c in candidates ) {
		if ( typeof( c ) == "undefined" || !c ) continue;
		if ( typeof( candidates[c] ) == "undefined" || !candidates[c] ) continue;
		if ( !candidates[c].className || candidates[c].className != "gps_item" ) continue;
		total_width+= parseInt( candidates[c].clientWidth );
	}
	
	if ( total_width ) { slider_flyer.style.width= total_width+"px"; }
	slider_karkas.onmousemove= function ( event ) {
		slider_over( event );
	}
	
	slider_karkas.style.visibility= "visible";
}

var slider_karkas= false; //Окно, в котором всё
var slider_flyer= false; //Плашка, которая смещается
var slider_action= true; //Предполагается ли движение
var slider_visible_width= 0;
var slider_k= 1;

function init_slider () {
	if ( !slider_action ) return;
	if ( !slider_karkas ) { slider_karkas= document.getElementById( "slider_karkas" ); if ( !slider_karkas ) return; }
	if ( !slider_flyer ) { slider_flyer= document.getElementById( "slider_flyer" ); if ( !slider_flyer ) return; }
	
	//Пересчитываем ширину
	slider_visible_width= parseFloat( slider_karkas.clientWidth );
	slider_real_width= parseFloat( slider_flyer.clientWidth );
	
	//Если нечего скроллить
	if ( slider_real_width <= slider_visible_width ) {  return; }
	//Определяем коефициент
	slider_k= (slider_real_width+50) / slider_visible_width;
}

function slider_over ( e ) {
	init_slider();
	if ( slider_k <= 1 ) return;
	
	var evt= e || window.event;
	
	var offset_visible= parseFloat( evt.clientX );
	var offset_real= offset_visible*slider_k;
	
//	alert( offset_visible+" : "+offset_real );
	var offset_delta= (-1) * parseInt( offset_real - offset_visible )+25;
//	alert(  )
	slider_moveto ( offset_delta );
	//slider_flyer.style.left= (-1)*offset_delta+	"px";
}

var anl_timer= false;
var anl_min_step= 20;
var anl_parts= 4;
var anl_time_step= 50;
var anl_max_shift_between= 500;

function slider_moveto ( move_to ) {
	clearTimeout( anl_timer );
	
	var cur_left= parseFloat( slider_flyer.style.left );
	if ( isNaN( cur_left ) ) { cur_left= 0; slider_flyer.style.left= 0; }
	if ( cur_left == move_to ) { return; }
	
	var k= ( cur_left > move_to ) ? -1 : 1;
	var between= Math.abs( cur_left+(-1)*move_to );
	
	//if ( anl_mode == "left" ) { alert( cur_left + " -> "+move_to+ " -> "+between ); }
	
	if ( between < anl_min_step ) cur_left= move_to;
	else {
		var next_step= between/anl_parts;
		if ( next_step > anl_max_shift_between ) next_step= anl_max_shift_between;
		cur_left+= k*next_step;
	}
	
	slider_flyer.style.left= cur_left+"px";
	
	if ( cur_left == move_to ) return;
	
	anl_timer= setTimeout( "slider_moveto( "+move_to+" )", anl_time_step );
	
}

/**********   replace colors   ****/
function replace_colors() {
	var new_red= parseInt( Math.random()*120+135 );
	new_red= new_red.toString(16);
	
	var new_green= parseInt( Math.random()*120+135 );
	new_green= new_green.toString(16);
	
	var new_blue= parseInt( Math.random()*120+135 );
	new_blue= new_blue.toString(16);
	
	var new_color= "#"+new_red+""+new_green+""+new_blue;
	
	var plate_1= document.getElementById( "gp_footer" ); if ( !plate_1 ) return;
	plate_1.style.backgroundColor= new_color;
	
	var plate_2= document.getElementById( "gbn_first" ); if ( !plate_2 ) return;
	plate_2.style.backgroundColor= new_color;
	
	var plate_3= document.getElementById( "gbn_second" ); if ( !plate_3 ) return;
	plate_3.style.backgroundColor= new_color;
	
	var plate_4= document.getElementById( "gf_gray" ); if ( !plate_4 ) return;
	plate_4.style.backgroundColor= new_color;
}
