var ie = document.all ? 1 : 0;
var ns = document.layers ? 1 : 0;
//
var slider_o_name = 'slider_div';
var slider_o_img_name = 'slider_img';
var slider_o;
var slider_o_img;
var slider_y0 = -300;
var slider_y1 = 108;
var slider_y_speed = 4;
var slider_process_timer = null;
var slider_process_start_timer = null;

function slider_process () {
	//alert ("slider_process");
	if (slider_o) {
		slider_y0 += (slider_y1 - slider_y0)/slider_y_speed;
		slider_o.style.top = slider_y0 + "px";
		if (slider_y0+1 > slider_y1) {
			slider_o.style.top = slider_y1 + "px";
			clearTimeout(slider_process_timer);
		}
	}
}
function slider_process_start () {
	clearTimeout(slider_process_start_timer);
	slider_process_timer = setInterval ("slider_process()",100);
}
function slider_close () {
	slider_o.style.display = "none";
}
function slider_align () {
	if (slider_o) {
		//var i_left = (screen.width - slider_o.style.width)/2;
		//slider_o.style.left = i_left;
		//slider_o.style.left =300;
		if (ie) { wW = document.body.offsetWidth - document.body.scrollLeft - 16; } 
		else 	{ wW = window.innerWidth - document.body.scrollLeft - 20; }
		slider_o.style.left = wW/2 - slider_o_img.offsetWidth/2 - 13;
	}
}
function slider_init () {
	slider_o = getObj(slider_o_name);
	if (slider_o) {
		//slider_o.style.top=slider_y0;
		setInterval ("slider_align()",200);
		slider_process_start_timer = setTimeout("slider_process_start()",12000);
	}
}

function sliderStart() {
	slider_o = getObj(slider_o_name);
 	slider_o_img = getObj(slider_o_img_name);
 	slider_init();
}
/* ************************************************************
   ************************************************************ */

function createCookie(name,value,hours) {
	if (hours) {
		var date = new Date();
		date.setTime(date.getTime()+(hours*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

/* ************************************************************ 
   ************************************************************ */

var bc_cookie_name = 'bc_start';
var bc_cookie_value = readCookie(bc_cookie_name);
var bc_value_start = 2*60*60;
var bc_o_button = getObj('backcounter_button');
var bc_o_num = getObj('backcounter_num');

function backcounter_click () {
	var c = readCookie(bc_cookie_name);
	if (c) {
		//alert ("cookie: " + c + " ERASE");
		eraseCookie(bc_cookie_name);
		bc_cookie_value = null;
	} else {
		backcounter_start();
		//alert ("cookie: " + c + " START");
	}		
}

function backcounter_start () {
	var d = new Date();
	createCookie (bc_cookie_name, d.getTime(),10);
	bc_cookie_value = readCookie(bc_cookie_name);
	bc_o_num.value = secToFormat(bc_value_start);
}
function backcounter_process() {
	if (bc_o_num) {
		if (bc_cookie_value==null) {
			bc_o_button.src = "/images/backcounter_start.png";
			bc_o_num.value = secToFormat(bc_value_start);
		} else {
			bc_o_button.src = "/images/backcounter_stop.png";
			if (bc_o_num) {
				var d = new Date();
				now = d.getTime();
				bc_o_num.value = secToFormat( Math.floor( (bc_value_start - (now-bc_cookie_value)/1000 ) ) );
			}
		}
	}
}
function secToFormat (n) {
	var m = '';
	if ( n < 0 ) { n=n*-1; m="-"; }
	var hh = Math.floor( n / (60*60) );
	n = n - hh*(60*60); 
	var mm = Math.floor( n / 60 );
	n = n - mm*60; 
	var ss = Math.floor( n );
	if (hh<10 ) { hh = "0"+hh; }
	if (mm<10 ) { mm = "0"+mm; }
	if (ss<10 ) { ss = "0"+ss; }	
	return m + hh + ":" + mm + ":" + ss;
}

/* ************************************************************ 
   ************************************************************ */

function getObj(name) {
	if (document.getElementById) {
		return document.getElementById(name);
	} else if (document.all) {
		return document.all[name];
	} else if (document.layers) {
		return document.layers[name];
	}
	else return false;
}

function addfav()   {
		title = "www.baracomp.hu"; 
		url = "http://www.baracomp.hu";
		
		if (window.sidebar) { // Mozilla Firefox Bookmark
			window.sidebar.addPanel(title, url,"");
		} else if( window.external ) { // IE Favorite
			window.external.AddFavorite( url, title); }
		else if(window.opera && window.print) { // Opera Hotlist
			return true; 
		}
}

function activateMenu (nav) {
/* currentStyle restricts the Javascript to IE only */
	if (getObj(nav) && document.getElementById(nav).currentStyle) {  
        var navroot = document.getElementById(nav);
        /* Get all the list items within the menu */
        var lis=navroot.getElementsByTagName("LI");  
        for (i=0; i<lis.length; i++) {
           /* If the LI has another menu level */
            if(lis[i].lastChild.tagName=="UL"){
                /* assign the function to the LI */
             	lis[i].onmouseover=function() {	
                   /* display the inner menu */
                   this.lastChild.style.display="block";
                }
                lis[i].onmouseout=function() {   
                   this.lastChild.style.display="none";
                }
            }
        }
    }
}
function header (to) {
	document.location = to;
}
window.onload= function(){
    /*activateMenu('nav'); */
    activateMenu('vertnav');
	bc_o_button = getObj('backcounter_button');
	bc_o_num = getObj('backcounter_num');
	setInterval('backcounter_process()',200);
}

function disableObj (name,b) {
	//alert (name + '\n' + b);
	var o = getObj(name);
	if (o) { o.disabled = b; }
}
function disable_pay_addr (formname, b) {
	disableObj (formname+'[pay_name]', b);  
	disableObj (formname+'[pay_addr_city]', b);  
	disableObj (formname+'[pay_addr_zip]', b);  
	disableObj (formname+'[pay_addr_place_name]', b);  
	disableObj (formname+'[pay_addr_place_number]', b);  
	disableObj (formname+'[pay_addr_floor]', b);  
	disableObj (formname+'[pay_addr_door]', b);  
}


/* ************************************************************ 
   ************************************************************ */

function trim( str ) {
	// Strip whitespace (or other characters) from the beginning and end of a string
	//
	// +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_trim/
	// +       version: 801.3120
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   improved by: mdsjack (http://www.mdsjack.bo.it)
	// +   improved by: Alexander Ermolaev (http://snippets.dzone.com/user/AlexanderErmolaev)
	// *     example 1: trim('    Kevin van Zonneveld    ');
	// *     returns 1: 'Kevin van Zonneveld'	
	return str.replace(/(^[\s\xA0]+|[\s\xA0]+$)/g, '');
}
function in_array(needle, haystack, strict) {
	// Checks if a value exists in an array
	//
	// +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_in_array/
	// +       version: 801.3120
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
	// *     returns 1: true
	var found = false, key, strict = !!strict;
	for (key in haystack) {
		if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
			found = true;
			break;
		}
	}
	return found;
}
	
function phoneCheck(obj) {
	phone = obj.value;
	sector = phone.substring(0,2);
	sector = trim(sector);
	if (   (phone.indexOf('1')==0 && sector!=1 )    ) {
		move_to = 2;
		editor_name = obj.name+'_formatted';
		
		var form_elements = obj.form.elements;
		for (i = 0; i < form_elements.length; i++) {
			if(form_elements[i].name == editor_name) {
				editor = form_elements[i];
			}
		}
		//editor = obj;
		//editor = obj.form[editor_name];
		position = getSelectionStart(editor);
		phone = phone.replace("-", '');
		phone = phone.replace("-", '');
		t_phone = trim(phone)
		if (t_phone.length < 3) {
			move_to = 3;
		}
		phone = phone.replace("1", ' 1-');
		editor.value = phone;

		if (position < 4) {
			setCaretTo(editor, move_to);
		}
	} else if ( phone.match('^06') ) {
		phone = phone.replace("-", '');
		phone = phone.replace("-", '');

		move_to=1;
		editor_name = obj.name+'_formatted';

		var form_elements = obj.form.elements;
		for (i = 0; i < form_elements.length; i++) {
			if(form_elements[i].name == editor_name) {
				editor = form_elements[i];
			}
		}
		editor.value = trim(phone.replace(new RegExp("^06","g"), ''));

		setCaretTo(editor, move_to);
	}
}

function getSelectionStart(o) {
	if (o.createTextRange) {
		var r = document.selection.createRange().duplicate()
		r.moveEnd('character', o.value.length)
		if (r.text == '') return o.value.length
		return o.value.lastIndexOf(r.text)
	} else return o.selectionStart
}


function setCaretTo(obj, pos) {
    if(obj.createTextRange) {
        /* Create a TextRange, set the internal pointer to
           a specified position and show the cursor at this
           position
        */
        var range = obj.createTextRange();
        range.move("character", pos);
        range.select();
    } else if(obj.selectionStart > -1) {
        /* Gecko is a little bit shorter on that. Simply
           focus the element and set the selection to a
           specified position
        */
        obj.focus();
        obj.setSelectionRange(pos, pos);
    }
}


function templateChanged(template_id) {
  text = document.getElementById('template_'+template_id).value;
  text = replaceTextInfo(text);
  
  var oEditor = CKEDITOR.instances['fd_sendpage[text]'] ;
  if (CKEDITOR.env.gecko) oEditor.setMode('source');
  oEditor.setData(text, function(){}) ;
  if (CKEDITOR.env.gecko) oEditor.setMode('wysiwyg');
  
  document.getElementById('fd_sendpage[subject]').value =  document.getElementById('subject_'+template_id).value;
}

function replaceTemplateInfo(send_subbmit, form) {
	var oEditor = CKEDITOR.instances['fd_sendpage[text]'] ;

  text = oEditor.getData();
  text = replaceTextInfo(text);
  if (CKEDITOR.env.gecko) oEditor.setMode('source');
  if (CKEDITOR.env.ie) oEditor.setMode('source');
  
  oEditor.setData(text, function()
		    {
      //console.log('DIRTY:'+ this.checkDirty());
      //this.updateElement();
  });
  if (CKEDITOR.env.gecko) oEditor.setMode('wysiwyg');
  if (CKEDITOR.env.ie) oEditor.setMode('wysiwyg');
}

function replaceTextInfo(text) {
  toName   = document.getElementById('fd_sendpage[to_name]').value;
  fromName = document.getElementById('fd_sendpage[from_name]').value;
  if (toName) {
    text = text.replace(/\[RECIPIENT_NAME\]/, toName);
  }
  if (fromName) {
    text = text.replace(/\[SENDER_NAME\]/, fromName);
  }
  return text;
}


function phoneChanged(obj, formName, phoneInputType, index) {
  textLength = obj.value.length;
  nextIndex = index + 1;
  nextFocus = getObj(formName+'['+phoneInputType+nextIndex+']');
  //alert(textLength+' '+index);
  if (index == 1 && textLength > 1) {
    nextFocus.focus();
  } else if (index == 2 && textLength > 2) {
    nextFocus.focus();
  }
}


function calculateSavePrices(formname, send) {

	company_type_i_value = document.getElementById(formname+'[company_type]').value;
	petrol_below_i_value = document.getElementById(formname+'[petrol_below]').value;
	petrol_over_i_value  = document.getElementById(formname+'[petrol_over]').value;
	diesel_below_i_value = document.getElementById(formname+'[diesel_below]').value;
	diesel_over_i_value  = document.getElementById(formname+'[diesel_over]').value;
	average_km_i_value   = document.getElementById(formname+'[average_km]').value;

	petrol_below_value = ((average_km_i_value * ((petrol_below_i_value * petrol_below_consum) / 100 * petrol_price))+(petrol_below_i_value * average_km_i_value *9))* 36;
	petrol_over_value  = ((average_km_i_value * ((petrol_over_i_value  * petrol_over_consum)  / 100 * petrol_price))+(petrol_over_i_value  * average_km_i_value *9))* 36;

	diesel_below_value = ((average_km_i_value * ((diesel_below_i_value * diesel_below_consum) / 100 * diesel_price))+(diesel_below_i_value * average_km_i_value *9))* 36;
	diesel_over_value  = ((average_km_i_value * ((diesel_over_i_value  * diesel_over_consum)  / 100 * diesel_price))+(diesel_over_i_value  * average_km_i_value *9))* 36;

	if (company_type_i_value == 1 || company_type_i_value == 2) {
		tax_value = (petrol_below_i_value * petrol_below_tax + petrol_over_i_value * petrol_over_tax + diesel_below_i_value * diesel_below_tax + diesel_over_i_value * diesel_over_tax) * 36;
	} else {
		tax_value = 0;
	}

	total_cars = petrol_below_i_value *1 + petrol_over_i_value *1 + diesel_below_i_value * 1 + diesel_over_i_value * 1;

	if (total_cars > 50 ) {
		rr_value = rr_prices[50];
	} else {
		rr_value = rr_prices[total_cars];
	}
	save_value_num =  petrol_below_value + petrol_over_value + diesel_below_value + diesel_over_value - tax_value - rr_value;
	save_value_print = numberFormat(save_value_num, 0, ',', '.');
	save_minutes_value = total_cars * 90;
	spent_minutes_value = total_cars * 7;
	document.getElementById('save_result').innerHTML = save_value_print;
	document.getElementById('petrol_resut_below').innerHTML = numberFormat(petrol_below_value, 0, '.', ',');
	document.getElementById('petrol_resut_over').innerHTML = numberFormat(petrol_over_value, 0, '.', ',');
	document.getElementById('diesel_resut_below').innerHTML = numberFormat(diesel_below_value, 0, '.', ',');
	document.getElementById('diesel_resut_over').innerHTML = numberFormat(diesel_over_value, 0, '.', ',');
	tax_value_print = numberFormat(tax_value, 0, '.', ',');
	rr_value_print  = numberFormat(rr_value, 0, '.', ',');
	
	if (tax_value > 0) {
      tax_value_print = '-'+tax_value_print;
	} 
	if (rr_value > 0) {
		rr_value_print = '-'+rr_value_print;
	}

	document.getElementById('car_tax').innerHTML = tax_value_print;
	document.getElementById('rr_price').innerHTML = rr_value_print;
	

	//SAVE TIMES
	save_hours_value = Math.floor(save_minutes_value/60);
	save_minutes_print = save_minutes_value%60;
	
	//alert(save_minutes_value);
	
	if (save_hours_value >  0) {
		document.getElementById('save_hours').style.display = '';
		document.getElementById('save_hours_time').innerHTML = save_hours_value;
	} else {
		document.getElementById('save_hours').style.display = 'none';
	}
	
	if (save_minutes_print >  0) {
		document.getElementById('save_minutes').style.display = '';
		document.getElementById('save_minutes_time').innerHTML = save_minutes_print;
	} else {
		document.getElementById('save_minutes').style.display = 'none';
	}
	
	if (save_value_print != 0) {
		document.getElementById('partial_results_header').style.display = '';
		document.getElementById('finaly_results').style.display = '';
		switchPartialResults(1);
	} else {
		document.getElementById('partial_results_header').style.display = 'none';
		document.getElementById('finaly_results').style.display = 'none';
		switchPartialResults(0);
	}
	
	// SPENT TIMES
	spent_hours_value = Math.floor(spent_minutes_value/60);
	spent_minutes_print = spent_minutes_value%60;
	//alert(spent_minutes_value);
	
	if (spent_hours_value >  0) {
		document.getElementById('spent_hours').style.display = '';
		document.getElementById('spent_hours_time').innerHTML = spent_hours_value;
	} else {
		document.getElementById('spent_hours').style.display = 'none';
	}
	
	if (spent_minutes_print >  0) {
		document.getElementById('spent_minutes').style.display = '';
		document.getElementById('spent_minutes_time').innerHTML = spent_minutes_print;
	} else {
		document.getElementById('spent_minutes').style.display = 'none';
	}
	
	document.getElementById('tax_car_count').innerHTML = total_cars;
	document.getElementById('rr_price_car_count').innerHTML = total_cars;

    if (send) {
		datas  = formname+'_action=createform';
		datas += '&'+formname+'[company_type]='+company_type_i_value;
		datas += '&'+formname+'[petrol_below]='+petrol_below_i_value;
		datas += '&'+formname+'[petrol_over]='+petrol_over_i_value;
		datas += '&'+formname+'[diesel_below]='+diesel_below_i_value;
		datas += '&'+formname+'[diesel_over]='+diesel_over_i_value;
		datas += '&'+formname+'[average_km]='+average_km_i_value;
	
		datas += '&'+formname+'[petrol_resut_below]='+petrol_below_value;
		datas += '&'+formname+'[petrol_resut_over]='+petrol_over_value;
		datas += '&'+formname+'[diesel_resut_below]='+diesel_below_value;
		datas += '&'+formname+'[diesel_resut_over]='+diesel_over_value;
	
		datas += '&'+formname+'[car_tax]='+tax_value;
		datas += '&'+formname+'[rr_price]='+rr_value;
	
		datas += '&'+formname+'[save_minutes]='+save_minutes_value;
		datas += '&'+formname+'[spent_minutes]='+spent_minutes_value;
		datas += '&'+formname+'[save_value]='+save_value_num;
		
		/*
		cookie_value = document.getElementById(formname+'_cookie_value').value;
		if (!readCookie('calculator')) {
			alert('new');
			createCookie('calculator', cookie_value, 24);
		} else {
			alert('update');
			eraseCookie('calculator');
			createCookie('calculator', cookie_value, 24);
		}
	*/
		
		$.ajax({
			type: "POST",
			url: submit_page_name,
			data: datas,
			success: function(msg){
			//alert( "Data Saved:"+msg);
			}
		});
	}
    
}

function switchPartialResults(show) {
	more_ico = document.getElementById('more_partial_results');
	if (show == 1) {
		document.getElementById('partial_results').style.display = '';
		more_ico.src = '/images/less.png';
		
	} else if (show == 0) {
		document.getElementById('partial_results').style.display = 'none';
		more_ico.src = '/images/more.png';
		
	} else if (document.getElementById('partial_results').style.display == 'none') {
		document.getElementById('partial_results').style.display = '';
		more_ico.src = '/images/less.png';

	} else {
		document.getElementById('partial_results').style.display = 'none';
		more_ico.src = '/images/more.png';
	}
}


function numberFormat (number, decimals, dec_point, thousands_sep) {
    var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
    var d = dec_point == undefined ? "," : dec_point;
    var t = thousands_sep == undefined ? "." : thousands_sep, s = n < 0 ? "-" : "";
    var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}


function calculateMennyibekerulPrices(formname, discount) {
	var vat_rate = 27;
	var brutt_price = 0;
	alapvaltozat_count = document.getElementById(formname+'[alapvaltozat]').value;
	ajanlasos_count = document.getElementById(formname+'[ajanlasos]').value;
	
	if (alapvaltozat_count > 50){
		document.getElementById('mennyibekerul_over').style.display = '';
		document.getElementById('mennyibekerul_result').style.display = 'none';
		document.getElementById('mennyibekerul_order').style.display = 'none';
		return;
	} else {
		document.getElementById('mennyibekerul_over').style.display = 'none';
		document.getElementById('mennyibekerul_order').style.display = '';
	}
	alapvaltozat_count = !alapvaltozat_count > 0 ? 0 : alapvaltozat_count > 50 ? 50 : alapvaltozat_count;
	ajanlasos_count = !ajanlasos_count >0 ? 0 : ajanlasos_count > 50 ? 50 : ajanlasos_count;

	if (alapvaltozat_count > 0) {
	    netto_price  = mennyibekerul_prices[alapvaltozat_count].alapvaltozat + mennyibekerul_prices[ajanlasos_count].ajanlasos;
	    if (discount > 0) {
	    	netto_price -= netto_price * discount / 100;
	    }
	    vat = netto_price * vat_rate / 100;
	    brutt_price = netto_price + vat
	}
	if (brutt_price > 0) {
		document.getElementById('mennyibekerul_result').style.display = '';
		document.getElementById('mennyibekerul_netto_price').innerHTML = numberFormat(netto_price, 0, '.', ' ');
		document.getElementById('mennyibekerul_vat_price').innerHTML = numberFormat(vat, 0, '.', ' ');
		document.getElementById('mennyibekerul_brutto_price').innerHTML = numberFormat(brutt_price, 0, '.', ' ');
	} else {
		document.getElementById('mennyibekerul_result').style.display = 'none';
	}
}

function sleep(milliSeconds){
	var startTime = new Date().getTime(); // get the current time
	while (new Date().getTime() < startTime + milliSeconds); // hog cpu
	}
