var keyCode=false;
var isNewKeyCode=false;
var key_run=false;
var keyFlag=false;
var timer_h1;
var timer_h2;
var timer_h3;
var isCtrl=false;
var isAlt=false;
var isShift=false;
var myMobileScroll;
var scroll_time;
var scroll_duration =800;
var scroll_duration_menu =900;
var scroll_duration_ms='800ms';
var start_scroll=false;
var browser_detect = {
	Browser: {
		IE:     !!(window.attachEvent && !window.opera),
		Opera:  !!window.opera,
		WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
		Gecko:  navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1,
		MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
	}
}
var slider_swithers=["iphone","ipad","icons","android","video","interface"];
var slider_swithers_selected=[1,0,0,0,0,0];
var slider_swithers_hover_style=[
	"url(/images/system/slider_menu_icons.png) -206px -48px no-repeat",
	"url(/images/system/slider_menu_icons.png) -174px -48px no-repeat",
	"url(/images/system/slider_menu_icons.png) -138px -48px no-repeat",
	"url(/images/system/slider_menu_icons.png) -90px -48px no-repeat",
	"url(/images/system/slider_menu_icons.png) -52px -48px no-repeat",
	"url(/images/system/slider_menu_icons.png) 0px -48px no-repeat"];
var slider_swithers_style=[
	"url(/images/system/slider_menu_icons.png) -206px 0px no-repeat",
	"url(/images/system/slider_menu_icons.png) -174px 0px no-repeat",
	"url(/images/system/slider_menu_icons.png) -138px 0px no-repeat",
	"url(/images/system/slider_menu_icons.png) -90px 0px no-repeat",
	"url(/images/system/slider_menu_icons.png) -52px 0px no-repeat",
	"url(/images/system/slider_menu_icons.png) 0px 0px no-repeat"];
var webLogo=["elance","odesk","guru"];
var webLogo_hover_style=[
	"url(/images/system/web_logos.png) 0px -294px no-repeat",
	"url(/images/system/web_logos.png) -293px -294px no-repeat",
	"url(/images/system/web_logos.png) -586px -294px no-repeat"];
var webLogo_style=[
	"url(/images/system/web_logos.png) 0px 0px no-repeat",
	"url(/images/system/web_logos.png) -293px 0px no-repeat",
	"url(/images/system/web_logos.png) -586px 0px no-repeat"];
var linkMenu=["link_work","link_why_us","link_workplace","link_contact"];
var linkMenuId=["menu_btn_work","menu_btn_why_us","menu_btn_workplace","menu_btn_contact"];
var linkMenu_active_style=[
	"url(/images/system/menu_buttons.png) -141px -189px no-repeat",
	"url(/images/system/menu_buttons.png) -141px -126px no-repeat",
	"url(/images/system/menu_buttons.png) -141px -63px no-repeat",
	"url(/images/system/menu_buttons.png) -141px 0px no-repeat"];
var linkMenu_style=[
	"url(/images/system/menu_buttons.png) 0px -189px no-repeat",
	"url(/images/system/menu_buttons.png) 0px -126px no-repeat",
	"url(/images/system/menu_buttons.png) 0px -63px no-repeat",
	"url(/images/system/menu_buttons.png) 0px 0px no-repeat"];
var linkMenu_selected=[1,0,0,0];
var linkMenu_OperaOffset=[-1,662,1209,2169];
var active_this;
var menu_selected=true;
var currentSliderType='iphone';
var load_slider='';
var new_rnd982g;
var timer_caruselInit;
var pre_load_slider_type = 'iphone';
var timer_preloadAllImages;
var temppreloadAllImagesArr=[];
var testpreloadAllImagesArr=[];
var time_initialiseSlider_DotControls;
function  createXMLHttpRequest(){  
		var  xhr;  
		if(window.XMLHttpRequest)  
			{  //  если  используется  браузер,  отличный  от  Microsoft  Internet  Explorer  
				try  {  xhr  =  new  XMLHttpRequest();  }  
				catch(e) {  xhr  =  false;  }  
			}  
		else  if(window.ActiveXObject)  
			{  //  если  используется  Microsoft  Internet  Explorer  
				try  {  xhr  =  new  ActiveXObject("Microsoft.XMLHTTP");  }  
				catch(e)  {  xhr  =  false;  }  
			}  
		return  xhr;  
	}
function  handleResponse(){  
	if(x_request.readyState  ==  4){  
		var  response  =  x_request.responseText;  
		if(response==''){
			$jq('#email_alert').fadeIn(300);
			setTexareaHeight('fixed');
			form_element = document.getElementById("form_message");
			form_element.value="Your Message";
		}
		else{
			alert('Error');
		}
	} 
} 
function  getForm(fobj){  
	var  str  =  "emptyv=emptyv&";  
	var  ft  =  "";  
	var  fv  =  "";  
	var  fn  =  "";  
	var  els  =  ""; 
	fobj_data = document.getElementById(fobj);
	if(fobj_data.elements.length){
		for( i = 0; i < fobj_data.elements.length; i++){  
			els  =  fobj_data.elements[i];  //  текущий  элемент  
			fv  =  els.value;  //  value  элемента  
			fn  =  els.name;  //  name  элемента  
			str  +=  fn  +  "="  +  encodeURI(fv)  +  "&";  
		}
		str  =  str.substr(0,(str.length  -  1)); 
	}
	return  str;  
}
function ajax_mail(){
	new_rnd982g = Math.random();
	new_str_form_data  =  getForm('sparkidForm');
	var poststr = "sendmail.php?"+new_str_form_data+'&rnd982g='+new_rnd982g;
	x_request.open('POST', poststr);
	x_request.onreadystatechange  =  handleResponse;
	x_request.send(null);
}
var x_request  =  createXMLHttpRequest();
function purge(d) {
    var a = d.attributes, i, l, n;
    if (a) {
        l = a.length;
        for (i = 0; i < l; i += 1) {
            n = a[i].name;
            if (typeof d[n] === 'function') {
                d[n] = null;
            }
        }
    }
    a = d.childNodes;
    if (a) {
        l = a.length;
        for (i = 0; i < l; i += 1) {
            purge(d.childNodes[i]);
        }
    }
}
function show_slider_after_load(elem){
	slider_elem = document.getElementById("slider_conteiner");
	if((slider_elem.style.display=='none')||(slider_elem.style.opacity=='0')){
		if(browser_detect.Browser.IE){
			slider_elem.style.filter = "alpha ( opacity = 100)";
			setTimeout(function(){$jq('#slider_conteiner').fadeIn(500);},1500);
		}
		else {
			slider_elem.style.display="block";
			setTimeout(function(){$jq('#slider_conteiner').animate({"opacity":opacity}, 500,function(){});},1500);
		}
	}
	if(browser_detect.Browser.IE){
		elem.style.display="none";
		elem.style.opacity="1";
		$jq(elem).fadeIn(300);
	}
	else{
		if(browser_detect.Browser.MobileSafari){
			elem.style.display="none";
			elem.style.opacity="1";
			$jq(elem).stop().fadeIn(300);
		}
		else{
			$jq(elem).stop().animate({"opacity":"1"}, 300,function(){});
		}
	}
	clearTimeout(time_initialiseSlider_DotControls);
	time_initialiseSlider_DotControls = setTimeout(function(){initialiseSlider_DotControls();},100);
}
function initialise_Hovers(){
	$jq("div#sliders_selectors div").hover(function(){
			this_className = this.className;
			this_className = this_className.substr(this_className.indexOf(' ')+1,this_className.length);
			for(i=0; i<6; i++){
				if(slider_swithers[i]==this_className){
					this.style.background = slider_swithers_hover_style[i];
					break;
				}
			}
		},function(){
			this_className = this.className;
			this_className = this_className.substr(this_className.indexOf(' ')+1,this_className.length);
			for(i=0; i<6; i++){
				if(slider_swithers[i]==this_className){
					if(slider_swithers_selected[i]==0)this.style.background = slider_swithers_style[i];
					break;
				}
			}
		});	
	if(browser_detect.Browser.MobileSafari){
		element = document.getElementById("quote");
		element.addEventListener('touchstart', function(){this.style.background="url(/images/system/get_quote.png) 0px 0px no-repeat";}, false);
		element.addEventListener('touchend', function(){this.style.background="url(/images/system/get_quote.png) no-repeat scroll 0 -107px transparent";}, false);
	}
	else{
		$jq("div#quote").hover(
			function(){
				this.style.background="url(/images/system/get_quote.png) 0px 0px no-repeat";
			}
			,function(){
				this.style.background="url(/images/system/get_quote.png) no-repeat scroll 0 -107px transparent";
			});
	}
}
function initialise_Clicks(){
		$jq("div#sliders_selectors div").click(function(){
			this_className = this.className;
			this_className = this_className.substr(this_className.indexOf(' ')+1,this_className.length);
			if(load_slider != this_className){
				for(i=0; i<6; i++){
					if(slider_swithers[i]==this_className){
						this.style.background = slider_swithers_hover_style[i];
						slider_swithers_selected[i] = 1;
					}
					else{
						slider_swithers_selected[i] = 0;
						unsell_elem_str = "div#sliders_selectors div."+slider_swithers[i];
						unsell_elem = $jq(unsell_elem_str);
						unsell_elem[0].style.background = slider_swithers_style[i];
					}
				}
				if(browser_detect.Browser.IE){
					//$jq('#slider_conteiner').stop().animate({opacity:0}, 300,function(){});
					$jq("#slider_conteiner").stop().fadeOut(300,function(){$jq("#ul_carousel-jumper").stop().fadeOut(0);});
				}
				else{
					$jq('#slider_conteiner').stop().animate({"opacity":"0"}, 300,function(){$jq('#ul_carousel-jumper').stop().animate({"opacity":"0"}, 0,function(){});});
				}
				load_slider = this_className;
				setTimeout(function(){
					var slider_frame = document.getElementById("slider_frame");
					//purge(slider_frame);
					slider_frame.innerHTML = '<iframe style="border:0px solid white;width:900px;height:490px;overflow:hidden;opacity:0;" scroll="no" src="/pc/slider_iframe.php?page='+load_slider+'" frameborder="0" id="my_slider_frame" onload="show_slider_after_load(this);" />'
				},450);
			}
		});
}
function mobileSliderSelector(elem){
	this_className = elem.className;
	this_className = this_className.substr(this_className.indexOf(' ')+1,this_className.length);
	if(load_slider != this_className){
		for(i=0; i<6; i++){
			if(slider_swithers[i]==this_className){
				elem.style.background = slider_swithers_hover_style[i];
				slider_swithers_selected[i] = 1;
			}
			else{
				slider_swithers_selected[i] = 0;
				unsell_elem_str = "div#sliders_selectors div."+slider_swithers[i];
				unsell_elem = $jq(unsell_elem_str);
				unsell_elem[0].style.background = slider_swithers_style[i];
			}
		}
		$jq("#slider_conteiner").fadeOut(300,function(){$jq("#ul_carousel-jumper").fadeOut(0);});
		load_slider = this_className;
		setTimeout(function(){
			slider_frame = document.getElementById("slider_frame");
			//purge(slider_frame);
			slider_frame.innerHTML = '<iframe style="border:0px solid white;width:900px;height:490px;overflow:hidden;opacity:0;" scroll="no" src="'+load_slider+'_slider.html" frameborder="0" id="my_slider_frame" onload="show_slider_after_load(this);" />'
		},350);
	}
}
function initialise_Form(){
	if(browser_detect.Browser.MobileSafari){
		element = document.getElementById("mail_submit_btn");
		element.addEventListener('touchstart', function(){this.style.background = "url(/images/system/mail_send_btn.png) 0px -63px no-repeat";setTimeout(function(){if(checkForm())ajax_mail();},100)});
		element.addEventListener('touchend', function(){this.style.background = "url(/images/system/mail_send_btn.png) 0px 0px no-repeat";});	
	}
	else{
		delta = 0;
		if(browser_detect.Browser.IE)delta = -126;
		$jq("div#mail_submit_btn").mousedown(function(){
			this.style.background = "url(/images/system/mail_send_btn.png) 0px -63px no-repeat";
		});
		$jq("div#mail_submit_btn").click(function(){
			if(checkForm())ajax_mail();
		});
		$jq("div#mail_submit_btn").mouseup(function(){
			this.style.background = "url(/images/system/mail_send_btn.png) 0px "+delta+"px no-repeat";
		});
		$jq("div#mail_submit_btn").mouseout(function(){
			this.style.background = "url(/images/system/mail_send_btn.png) 0px "+delta+"px no-repeat";
		});	
	}
}
function isValidEmail(str) {
   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}
function checkForm(){
	var element = [0,0,0];
	element[0] = document.getElementById("form_name");
	element[1] = document.getElementById("form_email");
	element[2] = document.getElementById("form_message");
	for(i=0;i<3;i++){
		temp_value = $jq.trim(element[i].value);
		if(temp_value=='')element[i].value=' ';
		if((temp_value=='')||(temp_value==element[i].title)){
			if(element[i].type=='textarea'){
				setTexareaHeight('fixed');
			}
			setRedAlert(true,element[i].type,element[i]);
			//red alert
			element = document.getElementById("mail_submit_btn");
			element.style.background = "url(/images/system/mail_send_btn.png) 0px 0px no-repeat";
			return false;
		}
	}
	if(isValidEmail(element[1].value))return true;
	else{
		alert('asdas');
		setRedAlert(true,element[1].type,element[1]);
		element = document.getElementById("mail_submit_btn");
		element.style.background = "url(/images/system/mail_send_btn.png) 0px 0px no-repeat";
		return false;
	}
}
function setRedAlert(flag,type,elem){
	if(flag==true){
		switch(type){
			case 'textarea':
				elem = document.getElementById("form_message_lt");
				elem.className = 'form_message_red_lt';
				elem = document.getElementById("form_message_t");
				elem.className = 'form_message_red_t';
				elem = document.getElementById("form_message_rt");
				elem.className = 'form_message_red_rt';
				elem = document.getElementById("form_message_l");
				elem.className = 'form_message_red_l';
				elem = document.getElementById("form_message_r");
				elem.className = 'form_message_red_r';
				elem = document.getElementById("form_message_text");
				elem.className = 'form_message_red_text';
				elem = document.getElementById("form_message_lb");
				elem.className = 'form_message_red_lb';
				elem = document.getElementById("form_message_b");
				elem.className = 'form_message_red_b';
				elem = document.getElementById("form_message_rb");
				elem.className = 'form_message_red_rb';
				elem = document.getElementById("textarea_require_star");
				elem.className = 'div_require_alert';
				break;
			case 'text':
				elem.parentNode.className = 'class_input_text_red';
				if(!browser_detect.Browser.IE)elem.nextElementSibling.className = 'div_require_alert';
				else elem.nextSibling.className = 'div_require_alert';
				break;
		}
	}
	else{
		switch(type){
			case 'textarea':
				elem = document.getElementById("form_message_lt");
				if(elem.className!=''){
					elem.className = '';
					elem = document.getElementById("form_message_t");
					elem.className = '';
					elem = document.getElementById("form_message_rt");
					elem.className = '';
					elem = document.getElementById("form_message_l");
					elem.className = '';
					elem = document.getElementById("form_message_r");
					elem.className = '';
					elem = document.getElementById("form_message_text");
					elem.className = '';
					elem = document.getElementById("form_message_lb");
					elem.className = '';
					elem = document.getElementById("form_message_b");
					elem.className = '';
					elem = document.getElementById("form_message_rb");
					elem.className = '';
					elem = document.getElementById("textarea_require_star");
					elem.className = 'div_require';
				}
				break;
			case 'text':
				elem.parentNode.className = '';
				if(!browser_detect.Browser.IE)elem.nextElementSibling.className = 'div_require';
				else elem.nextSibling.className = 'div_require';
				break
		}
	}
}
function emailResponsInitialise(){
	$jq('div#email_alert_close_btn').click(function(){
		$jq('#email_alert').fadeOut(300);
		
	});
	$jq('div#email_alert_close_btn').hover(function(){
		this.style.background="url(/images/system/email_alert_close_btn.png) 0px -49px no-repeat";
	},function(){
		this.style.background="url(/images/system/email_alert_close_btn.png) 0px 0px no-repeat";
	});
	$jq('div#email_alert_close_btn').mousedown(function(){
		this.style.background="url(/images/system/email_alert_close_btn.png) 0px -48px no-repeat";
	});
	$jq('div#email_alert_close_btn').mouseup(function(){
		this.style.background="url(/images/system/email_alert_close_btn.png) 0px -49px no-repeat";
	});
}
function initialise_WebLogos(){
	$jq("div.web_logo").hover(function(){
			this_className = this.className;
			this_className = this_className.substr(this_className.lastIndexOf(' ')+1,this_className.length);
			for(i=0; i<3; i++){
				if(webLogo[i]==this_className){
					new_style = webLogo_hover_style[i];
					this.style.background = new_style;
					break;
				}
			}
		},function(){
			this_className = this.className;
			this_className = this_className.substr(this_className.lastIndexOf(' ')+1,this_className.length);
			for(i=0; i<3; i++){
				if(webLogo[i]==this_className){
					this.style.background = webLogo_style[i];
					break;
				}
			}
		});
	$jq("div.web_logo").mousedown(function(){
			this_className = this.className;
			this_className = this_className.substr(this_className.lastIndexOf(' ')+1,this_className.length);
			for(i=0; i<3; i++){
				if(webLogo[i]==this_className){
					this.style.marginTop = '2px';
				}
			}
		});
	$jq("div.web_logo").mouseup(function(){
			this_className = this.className;
			this_className = this_className.substr(this_className.lastIndexOf(' ')+1,this_className.length);
			for(i=0; i<3; i++){
				if(webLogo[i]==this_className){
					this.style.marginTop = '0px';
				}
			}
		});
	$jq("div.web_logo").mouseout(function(){
			this_className = this.className;
			this_className = this_className.substr(this_className.lastIndexOf(' ')+1,this_className.length);
			for(i=0; i<3; i++){
				if(webLogo[i]==this_className){
					this.style.marginTop = '0px';
				}
			}
		});
}
function initialise_Navigation() {
    $jq("div#menu div").click(function() {
		if(start_scroll==false){
			clearTimeout(scroll_time);
			start_scroll=true;
			id_div = this.className;
			var elementClick = $jq("#"+id_div);
			var parrent_el = this;
			for(i=0;i<4;i++){
				elem_id = "#"+linkMenuId[i];
				$jq(elem_id).stop();
				if(linkMenuId[i]==parrent_el.id){
					linkMenu_selected[i]=1;
					parrent_el.style.background = linkMenu_active_style[i];
					operaDestination = linkMenu_OperaOffset[i];
				}
				else{
					linkMenu_selected[i]=0;
					var no_active_elem_id = "#"+linkMenuId[i];
					var no_active_elem = $jq(no_active_elem_id);
					no_active_elem[0].style.background = linkMenu_style[i];
				}
			}
			menu_selected=true;
			var destination = $jq(elementClick).offset().top;
			destination = operaDestination;
			//destination = destination-153;
			if($jq.browser.opera){$jq("html").animate({ scrollTop: operaDestination}, scroll_duration,function(){});}
			else{$jq("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination}, scroll_duration, function(){});}
			scroll_time = setTimeout('setScrollEnd()',scroll_duration_menu);
			return false;
		}
    });
	//$jq("div#logo").click(function(){$jq("div#menu_btn_work").click();},false);
	$jq("div#logo").mouseup(function(){this.style.marginTop="29px";},false);
	$jq("div#logo").mousedown(function(){this.style.marginTop="30px";$jq("div#menu_btn_work").click();},false);
}
function initialiseSlider_ArrowControls(){
	if(browser_detect.Browser.MobileSafari){
		element = document.getElementById("carousel_navi_left");
		element.addEventListener('touchstart', function(){this.style.background="url(/images/system/slider_arrows.png) -29px 0px no-repeat transparent";});
		element.addEventListener('touchend', function(){this.style.background="url(/images/system/slider_arrows.png) 0px 0px no-repeat transparent";});	
		element = document.getElementById("carousel_navi_right");
		element.addEventListener('touchstart', function(){this.style.background="url(/images/system/slider_arrows.png) -29px -43px no-repeat transparent";});
		element.addEventListener('touchend', function(){this.style.background="url(/images/system/slider_arrows.png) 0px -43px no-repeat transparent";});	
	}
	else{
		$jq("div.carousel_navi_left a").mousedown(function(){
			this.parentNode.style.background="url(/images/system/slider_arrows.png) -29px 0px no-repeat transparent";
		});
		$jq("div.carousel_navi_left a").mouseup(function(){
			this.parentNode.style.background="url(/images/system/slider_arrows.png) 0px 0px no-repeat transparent";	
		});
		$jq("div.carousel_navi_left a").mouseout(function(){
			this.parentNode.style.background="url(/images/system/slider_arrows.png) 0px 0px no-repeat transparent";		
		});
		$jq("div.carousel_navi_right a").mousedown(function(){
			this.parentNode.style.background="url(/images/system/slider_arrows.png) -29px -43px no-repeat transparent";
		});
		$jq("div.carousel_navi_right a").mouseup(function(){
			this.parentNode.style.background="url(/images/system/slider_arrows.png) 0px -43px no-repeat transparent";
		});
		$jq("div.carousel_navi_right a").mouseout(function(){
			this.parentNode.style.background="url(/images/system/slider_arrows.png) 0px -43px no-repeat transparent";
		});
	}
}
function setSliderControl(elem){
	switch(elem){
		case 'next':{
			controlls = $jq('div#ul_carousel-jumper a');
			for(i=0;i<controlls.length;i++){
				if(controlls[i].className=='carousel_controls_dots_selected'){
					if(i==(controlls.length-1)){
						controlls[0].className = controlls[i].className;
					}
					else controlls[i+1].className = controlls[i].className;
					controlls[i].className = '';
					i++;
				}
			}
			break;
		}
		case 'prev':{
			controlls = $jq('div#ul_carousel-jumper a');
			scrolled = false;
			for(i=0;i<controlls.length;i++){
				if(controlls[i].className=='carousel_controls_dots_selected'){
					if(i==0){
						scrolled = controlls.length-1;
						controlls[controlls.length-1].className = controlls[i].className;
					}
					else{
						if(!scrolled){
							scrolled = i-1;
							controlls[i-1].className = controlls[i].className;
						}
					}
					if(scrolled!=i)controlls[i].className = '';
				}
			}
			break;
		}
		case 'first':{
			break;
		}
		case 'last':{
			break;
		}
		default:{
			controlls = $jq('div#ul_carousel-jumper a');
			for(i=0;i<controlls.length;i++){
				controlls[i].className = '';
			}
			elem.className = "carousel_controls_dots_selected";
			break;
		}
	}
	//element_id = "control_"+slider_element.id;
	//element = document.getElementById(element_id);
	//element.addClassName(mySlider.options.selectedClassName);
}
function initialiseSlider_DotControls(){
	clearTimeout(time_initialiseSlider_DotControls);
	var slider_frame = document.getElementById("my_slider_frame");
	final_slider_elem = slider_frame.contentWindow.document.getElementById("final_slider_conteiner");
	SliderControlHtml = slider_frame.contentWindow.getSliderControlHtml();
	if(SliderControlHtml){
		slider_controls = document.getElementById("ul_carousel-jumper");
		slider_controls.innerHTML = SliderControlHtml;
		if(browser_detect.Browser.IE){
			slider_controls.style.display="none";
			slider_controls.style.opacity="1";
			$jq(slider_controls).fadeIn(300);
		}
		else{
			if(browser_detect.Browser.MobileSafari){
				slider_controls.style.display="none";
				slider_controls.style.opacity="1";
				$jq(slider_controls).stop().fadeIn(300);
			}
			else{
				$jq(slider_controls).stop().animate({"opacity":"1"}, 300,function(){});
			}
		}
	}
	else{
		time_initialiseSlider_DotControls = setTimeout(function(){initialiseSlider_DotControls();},100);
	}
}
function initialise_Slider(){
	initialiseSlider_ArrowControls();
}
function doGetCaretPosition (ctrl) {
	var CaretPos = 0;	// IE Support
	if (document.selection) {
	ctrl.focus ();
		var Sel = document.selection.createRange ();
		Sel.moveStart ('character', -ctrl.value.length);
		CaretPos = Sel.text.length;
	}
	// Firefox support
	else if (ctrl.selectionStart || ctrl.selectionStart == '0')
		CaretPos = ctrl.selectionStart;
	return (CaretPos);
}
function setTexareaHeight(type){
	//$jq('#form_message').stop();
	setRedAlert(false);
	pre_form_element = document.getElementById("class_input_message");
	form_element = document.getElementById("form_message");
	content_elem = document.getElementById("contact_part");
	switch(type){
		case 'content':
			var lengthHtml = form_element.value.length;
			delete_delta = 0;
			var lastCharHtml = form_element.value[lengthHtml-1];
			if((8==keyCode)||(46==keyCode)){
				var range = $jq(form_element).getSelection();
				var conuntstr = range.text.split('\n');
				var curPos = doGetCaretPosition(form_element);
				var lastCharHtml = form_element.value[curPos-1];
				if((conuntstr.length)&&(conuntstr.length>1))delete_delta = (conuntstr.length*17)-17;
				else if((lastCharHtml=='\n')||(curPos==0)){delete_delta = 17;}
			}
			form_element_height=form_element.scrollHeight;
			form_element_height = form_element_height-delete_delta;
			if(form_element_height<153)form_element_height=153;
			content_elem_height = (518+(form_element_height-153));
			pre_form_element_height=form_element_height+28;
			/*
			if(form_element_height>=161){
				current_height =form_element.offsetHeight;
				deltaheight1 = (current_height>form_element_height)?current_height-form_element_height:form_element_height-current_height;
				current_height =content_elem.offsetHeight;
				deltaheight2 = (current_height>content_elem_height)?current_height-content_elem_height:content_elem_height-current_height;
				current_height =pre_form_element.offsetHeight;
				deltaheight3 = (current_height>pre_form_element_height)?current_height-pre_form_element_height:pre_form_element_height - current_height;
				delta = (delete_delta!=0)?-1:1;
				//form_element.value = form_element.value+deltaheight1;
				clearTimeout(timer_h1);
				clearTimeout(timer_h2);
				clearTimeout(timer_h3);
				timer_h1 = setTimeout(function(){setTimedHeight('form_message',delta,'timer_h1',deltaheight1);},1);
				timer_h2 = setTimeout(function(){setTimedHeight('contact_part',delta,'timer_h2',deltaheight2);},1);
				timer_h3 = setTimeout(function(){setTimedHeight('class_input_message',delta,'timer_h3',deltaheight3);},1);
			}
			*/
			//$jq('#form_message').animate({height:form_element_height},100);
			//$jq('#class_input_message').animate({height:pre_form_element_height},100);
			//$jq('#contact_part').animate({height:content_elem_height},100);
			content_elem.style.height=content_elem_height+'px';
			pre_form_element.style.height=pre_form_element_height+'px';
			form_element.style.height=form_element_height+'px';
		break;
		case 'fixed':
			$jq('#contact_part').animate({"height":"518px"},300);
			$jq('#form_message').animate({"height":"153px"},300);
			$jq('#class_input_message').animate({"height":"181px"},300);
			//content_elem.style.height='518px';572
			//form_element.style.height='161px';
		break;
		default:break;
	}
}
function setTimedHeight(elem_id,delta,timer,counter){
	if(counter!=0){
		counter--;
		elem = document.getElementById(elem_id);
		elem.style.height = (elem.offsetHeight+delta)+'px';
		switch(timer){
			case 'timer_h1':timer_h1 = setTimeout(function(){setTimedHeight(elem_id,delta,timer,counter);},1);break;
			case 'timer_h2':timer_h2 = setTimeout(function(){setTimedHeight(elem_id,delta,timer,counter);},1);break;
			case 'timer_h3':timer_h3 = setTimeout(function(){setTimedHeight(elem_id,delta,timer,counter);},1);break;
			default:break;
		}
	}
}
function navigationBtn(){
	var parrent_el = active_this;
	if(parrent_el.id=="menu")parrent_el = active_this;
	for(i=0;i<4;i++){
		if(linkMenuId[i]==parrent_el.id){
			linkMenu_selected[i]=1;
			parrent_el.style.background = linkMenu_active_style[i];
		}
		else{
			linkMenu_selected[i]=0;
			var no_active_elem_id = "#"+linkMenuId[i];
			var no_active_elem = $jq(no_active_elem_id);
			no_active_elem[0].style.background = linkMenu_style[i];
		}
	}
	menu_selected=true;
	return false;
}
function setKeyPress(){
	switch(keyFlag){
		case 'form_message':{
			setTexareaHeight('content');
			break;
		}
		default:break;	
	}
}
function initialiseBodyKeys(){
		$jq('#page_body').keydown(function(e){
			keyCode=(e.which)?e.which:e.keyCode;
			switch(keyCode){
				case 17:isCtrl=true;break;
				case 16:isShift=true;break;
				default:break;
			}
			if((isCtrl==false)&&(isShift==false))syskey=false;
			if((keyCode!=37)&&(keyCode!=38)&&(keyCode!=39)&&(keyCode!=40)&&(syskey==false))setKeyPress();
		});
		$jq('#page_body').keypress(function(e){
			syskey=true;
			if((isCtrl==false)&&(isShift==false))syskey=false;
			keyCode=(e.which)?e.which:e.keyCode;
			if((keyCode!=37)&&(keyCode!=38)&&(keyCode!=39)&&(keyCode!=40)&&(syskey==false))setKeyPress();
		}); 
		$jq('#page_body').keyup(function(e){
			keyCode=(e.which)?e.which:e.keyCode;
			switch(keyCode){
				case 17:isCtrl=false;break;
				case 16:isShift=false;break;
				default:break;
			}
			if((isCtrl==false)&&(isShift==false))syskey=false;
			if((keyCode!=37)&&(keyCode!=38)&&(keyCode!=39)&&(keyCode!=40)&&(syskey==false))setKeyPress();
		});	
}
function resetMenuBtn(){
	if((start_scroll==false)&&(menu_selected==true)){
		for(i=0;i<4;i++){
			linkMenu_selected[i]=0;
			var no_active_elem_id = "#"+linkMenuId[i];
			var no_active_elem = $jq(no_active_elem_id);
			no_active_elem[0].style.background = linkMenu_style[i];
		}
		menu_selected=false;
		clearTimeout(scroll_time);
	}
}
function loadjscssfile(filename, filetype){
 if (filetype=="js"){ //if filename is a external JavaScript file
  var fileref=document.createElement('script')
  fileref.setAttribute("type","text/javascript")
  fileref.setAttribute("src", filename)
 }
 else if (filetype=="css"){ //if filename is an external CSS file
  var fileref=document.createElement("link")
  fileref.setAttribute("rel", "stylesheet")
  fileref.setAttribute("type", "text/css")
  fileref.setAttribute("href", filename)
 }
 if (typeof fileref!="undefined")
  document.getElementsByTagName("head")[0].appendChild(fileref)
//loadjscssfile("myscript.js", "js") //dynamically load and add this .js file
//loadjscssfile("javascript.php", "js") //dynamically load "javascript.php" as a JavaScript file
//loadjscssfile("mystyle.css", "css") ////dynamically load and add this .css file
}
function touch_logos(){
	this_className = active_this.className;
	this_className = this_className.substr(this_className.lastIndexOf(' ')+1,this_className.length);
	for(i=0; i<3; i++){
		if(webLogo[i]==this_className){
			new_style = webLogo_hover_style[i];
			active_this.style.background = new_style;
			active_this.style.marginTop = '2px';
			break
		}
	}
}
function un_touch_logos(){
	this_className = active_this.className;
	this_className = this_className.substr(this_className.lastIndexOf(' ')+1,this_className.length);
	for(i=0; i<3; i++){
		if(webLogo[i]==this_className){
			active_this.style.background = webLogo_style[i];
			active_this.style.marginTop = '0px';
			break;
		}
	}
}
function setScrollEnd(){
	start_scroll = false;
}
function load_on_load(){
	initialise_Hovers();
	initialise_Clicks();
	initialise_WebLogos();
	initViewAllTestimotials();
	initialise_Form();
	initialise_Slider();
	initialiseBodyKeys();
	if(window.addEventListener){
		window.addEventListener('DOMMouseScroll', resetMenuBtn, false);
		window.onmousewheel = resetMenuBtn;
		window.onscroll = resetMenuBtn;
	}
	else{
		document.onmousewheel = resetMenuBtn;
		document.onscroll = resetMenuBtn;
	}
	menu_selected=true;
	if(document.clientHeight){
		if(document.clientHeight>820){
			element = document.getElementById("footer");
			element.style.height = document.clientHeight+"px";
		}
	}
	if(browser_detect.Browser.MobileSafari){
		fixed_el = document.getElementById("container");
		fixed_el.style.height = "565px";
		$jq("#head").css("position", "static");
		loadjscssfile("http://dewsparkid.studio3dlife.com/css/iscroll.css", "css") ////dynamically load and add this .css file
		//loadjscssfile("http://dewsparkid.studio3dlife.com/css/webkit.css", "css") ////dynamically load and add this .css file
		myMobileScroll = new iScroll(document.getElementById('scroller'));
		setTimeout(function(){ myMobileScroll= new iScroll(document.getElementById('scroller')) }, 100);
		element = document.getElementById("elance_logo");
		element.addEventListener('touchstart', function(){active_this=this;touch_logos();}, false);
		element.addEventListener('touchend', function(){active_this=this;un_touch_logos();}, false);
		element = document.getElementById("odesk_logo");
		element.addEventListener('touchstart', function(){active_this=this;touch_logos();}, false);
		element.addEventListener('touchend', function(){active_this=this;un_touch_logos();}, false);
		element = document.getElementById("guru_logo");
		element.addEventListener('touchstart', function(){active_this=this;touch_logos();}, false);
		element.addEventListener('touchend', function(){active_this=this;un_touch_logos();}, false);
		element = document.getElementById("menu_btn_work");
		element.addEventListener('touchstart', function(){clearTimeout(scroll_time);start_scroll=true;active_this=this;navigationBtn();myMobileScroll.scrollTo(0,123, scroll_duration_ms);scroll_time=setTimeout('setScrollEnd()',scroll_duration_menu)}, false);
		element = document.getElementById("logo");
		element.addEventListener('touchstart', function(){
			this.style.marginTop="30px";
			element = document.getElementById("menu_btn_work");
			clearTimeout(scroll_time);
			start_scroll=true;
			active_this=element;
			navigationBtn();
			myMobileScroll.scrollTo(0,123, scroll_duration_ms);
			scroll_time=setTimeout('setScrollEnd()',scroll_duration_menu);
		}, false);
		element.addEventListener('touchend', function(){this.style.marginTop="29px";}, false);
		element = document.getElementById("menu_btn_why_us");
		element.addEventListener('touchstart', function(){clearTimeout(scroll_time);start_scroll=true;active_this=this;navigationBtn();myMobileScroll.scrollTo(0,-785, scroll_duration_ms);scroll_time=setTimeout('setScrollEnd()',scroll_duration_menu)}, false);
		element = document.getElementById("menu_btn_workplace");
		element.addEventListener('touchstart', function(){clearTimeout(scroll_time);start_scroll=true;active_this=this;navigationBtn();myMobileScroll.scrollTo(0,-1332, scroll_duration_ms);scroll_time=setTimeout('setScrollEnd()',scroll_duration_menu)}, false);
		element = document.getElementById("menu_btn_contact");
		element.addEventListener('touchstart', function(){clearTimeout(scroll_time);start_scroll=true;active_this=this;navigationBtn();myMobileScroll.scrollTo(0,-2292, scroll_duration_ms);scroll_time=setTimeout('setScrollEnd()',scroll_duration_menu)}, false);
		clearTimeout(scroll_time);
		setTimeout(function(){start_scroll=true;myMobileScroll.scrollTo(0,30, scroll_duration_ms);scroll_time=setTimeout('setScrollEnd()',scroll_duration_menu)},150);
		
	}
	else{
		emailResponsInitialise();
		initialise_Navigation();
		fixed_el = document.getElementById("head");
		$jq(fixed_el).css({'position':"fixed"});
		var destination = $jq('#link_work').offset().top-153;
		if($jq.browser.opera){$jq("html").animate({ scrollTop: -1}, scroll_duration);}
		else{$jq("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination}, scroll_duration, function(){});}
		start_scroll=true;
		scroll_time=setTimeout('setScrollEnd()',scroll_duration_menu);
	}
	slowShowCore();
	//if(browser_detect.Browser.IE)$jq(document).pngFix(); 
}
function initViewAllTestimotials(){
	if(browser_detect.Browser.MobileSafari){
		element = document.getElementById("latest_testimonial_btn_a01");
		element.addEventListener('touchstart', function(){this.parentNode.style.background="url(/images/system/view_all_button.png) 0px -63px no-repeat";});
		element.addEventListener('touchend', function(){this.parentNode.style.background="url(/images/system/view_all_button.png) 0px 0px no-repeat";});	
		element = document.getElementById("latest_testimonial_btn_a02");
		element.addEventListener('touchstart', function(){this.parentNode.style.background="url(/images/system/view_all_button.png) 0px -63px no-repeat";});
		element.addEventListener('touchend', function(){this.parentNode.style.background="url(/images/system/view_all_button.png) 0px 0px no-repeat";});	
		element = document.getElementById("latest_testimonial_btn_a03");
		element.addEventListener('touchstart', function(){this.parentNode.style.background="url(/images/system/view_all_button.png) 0px -63px no-repeat";});
		element.addEventListener('touchend', function(){this.parentNode.style.background="url(/images/system/view_all_button.png) 0px 0px no-repeat";});	
	}
	else{
		delta = 0;
		if(browser_detect.Browser.IE)delta = -126;
		$jq("div.latest_testimonial_btn a").mousedown(function(){
			this.parentNode.style.background="url(/images/system/view_all_button.png) 0px -63px no-repeat";
		});
		$jq("div.latest_testimonial_btn a").mouseup(function(){
			this.parentNode.style.background="url(/images/system/view_all_button.png) 0px "+delta+"px no-repeat";
		});
		$jq("div.latest_testimonial_btn a").mouseout(function(){
			this.parentNode.style.background="url(/images/system/view_all_button.png) 0px "+delta+"px no-repeat";		
		});
}
}
function getTranslateX(element) {
	var transform = element.style.webkitTransform;
	if (transform && transform !== "") {
		var translateX = transform.substr(transform.indexOf('(')+1,transform.length);
		translateX = translateX.substr(0,translateX.indexOf(',')-2);
	}
	var delta = 1*translateX;
	return delta;
}
function ipadScroll(dest){
	sliderPictureWidth=900;
	startscrolling=true;
	var slider_frame = document.getElementById("my_slider_frame");
	elem = slider_frame.contentWindow.document.getElementById("final_slider_conteiner");
	switch(dest){
		case "prev":{
			delta = getTranslateX(elem);
			if(delta!=0)delta = getTranslateX(elem)+900;
			else delta = 900-elem.offsetWidth;
			$jq(elem).css({'-webkit-transform': 'translate3d('+delta+'px, 0px, 0px)','-webkit-transition': '-webkit-transform 0.4s linear'});
			setTimeout(function(){setSliderControl(dest);startscrolling=false;},400);
			break;
		}
		case "next":{
			delta = getTranslateX(elem);
			if(delta>(900-elem.offsetWidth))delta = getTranslateX(elem)-900;
			else delta = 0;
			$jq(elem).css({'-webkit-transform': 'translate3d('+delta+'px, 0px, 0px)','-webkit-transition': '-webkit-transform 0.4s linear'});
			setTimeout(function(){setSliderControl(dest);startscrolling=false;},400);
			break;
		}
		case "first":{
			$jq(elem).css({'-webkit-transform': 'translate3d(0px, 0px, 0px)','-webkit-transition': '-webkit-transform 0.4s linear'});
			setTimeout(function(){setSliderControl(dest);startscrolling=false;},400);
			break;
		}
		case "last":{
			delta = 900-elem.offsetWidth;
			$jq(elem).css({'-webkit-transform': 'translate3d('+delta+'px, 0px, 0px)','-webkit-transition': '-webkit-transform 0.4s linear'});
			setTimeout(function(){setSliderControl(dest);startscrolling=false;},400);
			break;
		}
		default:{
			delta = 0-(sliderPictureWidth*(dest-1));
			$jq(elem).css({'-webkit-transform': 'translate3d('+delta+'px, 0px, 0px)','-webkit-transition': '-webkit-transform 0.4s linear'});
			setTimeout(function(){startscrolling=false;},400);
			break;
		}
	}
}
var startscrolling=false;
function scroll_to(dest){
	if(startscrolling==false){
		if(browser_detect.Browser.MobileSafari){
			ipadScroll(dest);
			return;
		}
		sliderPictureWidth=900;
		startscrolling=true;
		var slider_frame = document.getElementById("my_slider_frame");
		final_slider_elem = slider_frame.contentWindow.document.getElementById("final_slider_conteiner");
		switch(dest){
			case 'next':{
				current_left = final_slider_elem.offsetLeft-sliderPictureWidth;
				test_current_left = (current_left*current_left)/2;
				if((current_left%sliderPictureWidth)!=0)current_left=Math.round(current_left/sliderPictureWidth)*sliderPictureWidth;
				if((current_left)<=(0-final_slider_elem.offsetWidth))current_left=0;
				new_left = current_left;
				$jq(final_slider_elem).stop().animate({"margin-left":new_left+"px"},400,function(){setSliderControl(dest);startscrolling=false;});
				break;
			}
			case 'prev':{
				current_left = final_slider_elem.offsetLeft;
				new_left = ((final_slider_elem.offsetLeft+sliderPictureWidth)>0)?0-(final_slider_elem.offsetWidth-sliderPictureWidth):final_slider_elem.offsetLeft+sliderPictureWidth;
				if((new_left%sliderPictureWidth)!=0)new_left=Math.round(new_left/sliderPictureWidth)*sliderPictureWidth;
				$jq(final_slider_elem).stop().animate({"margin-left":new_left+"px"},400,function(){setSliderControl(dest);startscrolling=false;});
				break;
			}
			case 'first':{
				$jq(final_slider_elem).stop().animate({"margin-left":"0px"},400,function(){setSliderControl(dest);startscrolling=false;});
				break;
			}
			case 'last':{
				current_left = final_slider_elem.offsetWidth-sliderPictureWidth;
				$jq(final_slider_elem).stop().animate({"margin-left":current_left+"px"},400,function(){setSliderControl(dest);startscrolling=false;});
				break;
			}
			default :{
				current_left = 0-(sliderPictureWidth*(dest-1));
				$jq(final_slider_elem).stop().animate({"margin-left":current_left+"px"},400,function(){startscrolling=false;});
				break;
			}
		}
	}
}
function slowShowCore(){
	opacity = "1";
	if(browser_detect.Browser.IE)opacity = "100";
	setTimeout(function(){$jq('#after_body').animate({"opacity":opacity}, 300,function(){});},200);
	setTimeout(function(){$jq('#head').animate({"opacity":opacity}, 500,function(){});},500);
	setTimeout(function(){$jq('#slider_header').animate({"opacity":opacity}, 500,function(){});},1000);
	slider_elem = document.getElementById("slider_conteiner");
	if(browser_detect.Browser.IE){
		setTimeout(function(){$jq('#slider_conteiner').fadeIn(500);},1500);
	}
	else {
		slider_elem.style.display="block";
		if(browser_detect.Browser.MobileSafari){
			setTimeout(function(){$jq('#slider_conteiner').animate({"opacity":opacity}, 500,function(){});},1500);
		}
		else{
			setTimeout(function(){$jq('#slider_conteiner').animate({"opacity":opacity}, 500,function(){});},1500);
		}
	}
	if(!browser_detect.Browser.MobileSafari)setTimeout(function(){$jq('#one_slider_type_iphone').click();},1000);
	else setTimeout(function(){
		$jq('#one_slider_type_iphone').click();
	},1000);
	setTimeout(function(){$jq('#why_us_part').animate({"opacity":opacity}, 500,function(){});},1500);
	setTimeout(function(){$jq('#we_work_at_part').animate({"opacity":opacity}, 500,function(){});},1500);
	setTimeout(function(){$jq('#contact_part').animate({"opacity":opacity}, 500,function(){});},1500);
	setTimeout(function(){$jq('#bottom_separator').animate({"opacity":opacity}, 500,function(){});},1500);
	setTimeout(function(){$jq('#footer').animate({"opacity":opacity}, 500,function(){});},1500);
}
$jq.fn.animate2 = function(css, speed, fn) {
	if(speed === 0) { // differentiate 0 from null
	  this.css(css)
	  window.setTimeout(fn, 0)
	} else {
	  if($jq.browser.safari) {
		var s = []
		for(var i in css) 
			s.push(i)
	  
		this.css({ webkitTransitionProperty: s.join(", "),
				  webkitTransitionDuration: speed+ "ms" });
	  
		window.setTimeout(function(x,y) {
		  x.css(y)
		},0, this, css) // have to wait for the above CSS to get applied
		window.setTimeout(fn, speed)
	  } else {
		this.animate(css, speed, fn)
	  }
	}
}
$jq(document).ready(function(){load_on_load();});

