/**
 * @author FSAB
 */

var xmlHttp;
var browser;
var base_url = "/typo3conf/ext/user_shop/kundvagn/";


function ajaxFunction()
{
	xmlHttp == null;
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
		browser = true;
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			browser = false;
		}
		catch (e)
		{
			try
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
				browser = false;
			}
			catch (e)
			{
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
		return xmlHttp;
}

function check_ajax(xmlHttp)
{
	if(xmlHttp == null)
	{
		alert("Din browser stödjer inte Ajax, vänligen uppdatera browsern.")
		return false;
	}
	else
	
	return true;
}


function send(script,funktionen){

	if(check_ajax(xmlHttp)){
		xmlHttp.onreadystatechange = funktionen;
		xmlHttp.open("GET",script,true);
		xmlHttp.send(null);
	}
}


function send_post(script, params, funktionen){//Function som sänder data via post


	if(check_ajax(xmlHttp)){

		xmlHttp.onreadystatechange = funktionen;
		xmlHttp.open("POST",script,true);
		
		xmlHttp.setRequestHeader("If-Modified-Since", "Fri, 31 Dec 1999 23:59:59 GMT");
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");

		xmlHttp.send(params);

	}
}

function detect_ie(){

	var nav = navigator.userAgent;

	if(!nav.indexOf('MSIE') > 0)
		return true;
	else
		return false;
}
	
function get_handler(div){
		
	var ret_val = document.getElementById(div);
	return ret_val;
}

function get_timestamp(){
	
	var tmp = new Date();
	return tmp.getTime();
	
}
	
function fixa_str(text){//Denna funktion kan användas som 'explode' från PHP
		
	text = text.substr(text.indexOf(',') + 1);
		
	return text;
		
}

/**
 * Funktion som avgör vilket css-script som skall laddas
 */

var browser = navigator.userAgent;

	if(browser.indexOf('MSIE 6.0') > 0 && browser.indexOf('MSIE 7.0') < 1){
		document.writeln("<link rel=\"stylesheet\" type=\"text/css\" href=\"/fileadmin/templates/css/ie6.css\" />");
		//alert(browser + 'IE6');
	}
	else if(browser.indexOf('MSIE 7.0') > 0){
		document.writeln("<link rel=\"stylesheet\" type=\"text/css\" href=\"/fileadmin/templates/css/ie7.css\" />");
		//alert(browser + 'IE7');
	}
	else{
		//alert(browser + 'firefox');
		document.writeln("<link rel=\"stylesheet\" type=\"text/css\" href=\"/fileadmin/templates/css/standard.css\" />");
	}

/**
 * Function som sätter en cookie för användare som vill slippa logga in varje ggn.
 * 
 * @return void
 */
function set_cookie(){
	
	alert('Cookie satt');
	
}

function get_katalog(){
	
	window.location = "/fileadmin/PDF-FILER/Katalog/KEROKATALOG_09.pdf";
	///home/u2032/web/fileadmin/PDF-FILER/Katalog
}

function bestall_katalog(){
	var lang_en = (document.location + '').match(/L=1/);
	
	if (lang_en) {
		window.location = "/index.php?id=91&L=1";
	} else {
		window.location = "/index.php?id=91";
	}
	
}


/**
*	function som byter produkt på produktsidan
*	
*	@return void
*/

var art_nr = '';
function get_new_prod(obj){
	var vara = obj.value;
	var tid = get_timestamp();
	var script = "get_new_vara.php?art_nr=" + vara;
	art_nr = vara;
	//alert(script);
	xmlHttp = ajaxFunction();
	send(script,get_new_sida);
	
}

function get_new_sida(){
	
	if(xmlHttp.readyState == 4){

		//var adr = "index.php?id=37&user_shop_pi1[showUid]=" + xmlHttp.responseText;
		//window.location = adr; 
		
		var handler = get_handler('priset');
		handler.innerHTML = "<strong>" + xmlHttp.responseText + ' SEK' + "</strong>";
		
		var art_nr_print = get_handler('artikel_nr');
		art_nr_print.innerHTML = "<strong>" + art_nr + "</strong>";
		document.getElementById('art_nr').value = art_nr;
	}
	
}

/**
*Function som lägger en varra till en kundvagn (KERO)
*
*	@param art_nr (String) Artickelnummer
*/
function add_to_basket(){
	//alert(document.getElementById('art_nr_org'));
	var antal = document.getElementById('amount').value;
	var size = document.getElementById('size').value;
	var art_nr = document.getElementById('art_nr').value;
	var art_nr_org = document.getElementById('art_nr_org').value;
	
	var lang_en = (document.location + '').match(/L=1/);
	
	if(isNaN(antal) || antal.length < 1){
		if (!lang_en) {
			alert("Du måste ange ett antal med siffror!");
		} else {
			alert("The amount must an number.");
		}
	}
	else if(antal < 1){
		if (!lang_en) {
			alert("Du måste ange antalet varor med ett positivt värde!")
		} else {
			alert("Amount must be an positve number.")
		}
	}
	else if(size < 1 || size == ''){
		if (!lang_en) {
			alert("Du måste välja vilken storlek av varan du vill beställa!");
		} else {
			alert("Please chose a size.");
		}
	}
	else{
		
		var tid = get_timestamp();
		var script = "typo3conf/ext/user_shop/kundvagn/kundvagn.php?art_nr=" + art_nr + "&art_nr_org=" + art_nr_org + "&amount=" + antal + "&size=" + size + "&tid=" + tid;
		if (lang_en) {
			script += '&L=1';
		}
		
		xmlHttp = ajaxFunction();
		send(script, view_kundvagn);
	}
}

function view_kundvagn(){
	
	if(xmlHttp.readyState == 4){
		
		var handler = get_handler('vagn_behallare');
		
		handler.innerHTML = xmlHttp.responseText;
		
	}
	
}

function get_next_kunsvagn(id){
	
	var adr = "kassa.php?id=" + id;
	
	if (arguments.length > 1) {
	
		if(arguments[1] == 'en')
			adr += "&L=1";
	}

	window.location = adr;
	
}

function get_next_kundvagn_betalning(){
	var lang_en = (document.location + '').match(/L=1/);
	
	var adr = base_url + "check_betalningssida.php";
	if (lang_en) {
		adr += '?L=1';
	}
	
	window.location = adr;
	
}

/**
* Tar bort en var ur kundkorgen
*@return void
*/

function del_vara(obj){
	
	var lang_en = (document.location + '').match(/L=1/);
	
	if (lang_en) {
		var b = confirm("Do you want to remove this item from the cart?")
	} else {
		var b = confirm("Vill du ta bort varan ur kundkorgen?")
	}
	
	if(b) {
		var tid = get_timestamp();
		var script = "typo3conf/ext/user_shop/kundvagn/del_vara_ur_vagn.php?obj=" + obj + "&tid=" + tid;
		
		if (lang_en) {
			script += '&L=1';
		}

		xmlHttp = ajaxFunction();
		send(script, del_vara_nu);
	}
	
	
}

function del_vara_nu() {
	var lang_en = (document.location + '').match(/L=1/);

	if(xmlHttp.readyState == 4  ){
		
		
		var handler = get_handler('ajax_lager');
		
		/*if(xmlHttp.responseText != 0){
			handler.innerHTML = xmlHttp.responseText;
		}
		else {
			if (!lang_en) {
				handler.innerHTML = '<p>Din kundvagn är tom!<br /><a href="http://kero.se/index.php?id=32">Gå tillbaka</a></p>';
			} else {
				handler.innerHTML = '<p>Your shopping cart i empty!<br /><a href="http://kero.se/index.php?id=32&L=1">Go back</a></p>';
			}
		}*/
		document.location = 'kassa.php?id=1';
	}
}


var typ_minne;
function set_batalsatt(typ){
	var tid = get_timestamp();
	var script = base_url + "set_betalsatt.php?typ=" + typ + "&tid=" + tid;
	
	if(typ_minne != typ){//DEtta för att man inte skall kunna räkna ner totalsumman i kundkorgen
		
		xmlHttp = ajaxFunction();

		send(script, print_betalsatt);

		typ_minne = typ;
	
	}
}


function print_betalsatt(){
	
	if(xmlHttp.readyState == 4){
		
		
		var start = get_handler('kalle');
		var slut = get_handler('anka');
		if(xmlHttp.responseText == 0){
			/*start.innerHTML = "Postförskott";
			slut.innerHTML = "50:-";
			var summan = get_handler('summan');
			var tmp_summa = parseInt(summan.innerHTML);
			tmp_summa += 50;

			summan.innerHTML = tmp_summa + ':-';
			*/
			window.location.reload();

		}
		else{
			/*start.innerHTML = "";
			slut.innerHTML = ""
			var summan = get_handler('summan');
			var tmp_summa = parseInt(summan.innerHTML);
			tmp_summa -= 50;

			summan.innerHTML = tmp_summa + ':-';*/
			window.location.reload();
		}
	}
	
}

//####################################################################### Kolla upp unik mailadress #################################################################


function check_db(obj)
{
	user_field = obj;
	var value = obj.value;
	
	var script = base_url + "check_username.php?name=" + value;

	if(value.length > 0)
	{
		xmlHttp = ajaxFunction();

		if(check_ajax(xmlHttp))
		{

			xmlHttp.onreadystatechange=check_user_name;
			xmlHttp.open("GET",script,true);
			xmlHttp.send(null);

		}
	}
}

function check_user_name()

{

	if(xmlHttp.readyState == 4)
	{
		var ret_val = xmlHttp.responseText;
		var img = document.getElementById('check_img');
		//alert(ret_val);
		
		if(ret_val == 0)
		{
			img.setAttribute('src','/fileadmin/templates/gfx/form/error.gif')
			document.forms[0].submit.disabled = true;
		}
		else if(ret_val == 2){
			img.setAttribute('src','/fileadmin/templates/gfx/form/error.gif')
			alert('Den epost-adress du angav finns redan i vår databas.\nProva att logga in direkt.');
			document.forms[0].submit.disabled = true;
		}
		else
		{
			img.setAttribute('src','/fileadmin/templates/gfx/form/clear.gif')
			document.forms[0].submit.disabled = false;
		}
	}
}

/**
 * funktion som låter användaren byta epostadress
 * @param {Object} kund_id från Keros databas
 */
function change_mail_adr(kund_id, mail){
	var lang_en = (document.location + '').match(/L=1/);

	if (lang_en) {
		var adr = base_url + 'change_mail.php?kund_id=' + kund_id + '&mail=' + mail + '&L=1';
	} else {
		var adr = base_url + 'change_mail.php?kund_id=' + kund_id + '&mail=' + mail;
	}
	
	var fonstret = window.open(adr,'kalle', 'width=400, height=320');
	var x = (screen.width/2) - 140;
	var y = (screen.height/2) - 100;
	
	fonstret.moveTo(x,y);
	
}
//**************************************************** Fulfix för beställningsidan av katalog *****************************

function check_db_katalog(obj)
{
	user_field = obj;
	var value = obj.value;
	
	
	var script = base_url + "check_username.php?name=" + value;

	if(value.length > 0)
	{
		xmlHttp = ajaxFunction();

		if(check_ajax(xmlHttp))
		{

			xmlHttp.onreadystatechange=check_user_name_katalog;
			xmlHttp.open("GET",script,true);
			xmlHttp.send(null);

		}
	}
}

function check_user_name_katalog()

{

	if(xmlHttp.readyState == 4)
	{
		var ret_val = xmlHttp.responseText;
		var img = document.getElementById('check_img_katalog');
		//alert(ret_val);
		
		if(ret_val == 0)
		{
			img.setAttribute('src','fileadmin/templates/gfx/form/error.gif')
			document.forms[0].submit.disabled = true;
		}
		else
		{
			img.setAttribute('src','fileadmin/templates/gfx/form/clear.gif')
			document.forms[0].submit.disabled = false;
		}
	}
}



//*************************************************** Slut fulfix *********************************************************

/**
 * Sätter vilken typ av kund som skall registreras i kundkorgen
 */
function set_kundtyp(obj){
	
	var handler = document.getElementById('foretags_info');
	if(obj.value <= 1){
		handler.innerHTML = '';
	}
	else{
		var script = "typo3conf/ext/user_shop/kundvagn/get_foretagsinfo.php";
		
		xmlHttp = ajaxFunction();
		send(script,display_foretagsinfo);
	}
}


function display_foretagsinfo(){
	
	var handler = document.getElementById('foretags_info');
	
	if(xmlHttp.readyState == 4)
		handler.innerHTML =  xmlHttp.responseText;

}
//******************************************* Meddelande *******************************************************
function get_med(obj){
	
	var msg = obj.value;
	var script = base_url + "get_msg.php?msg=" + msg;
	
	xmlHttp = ajaxFunction();
	send(script,get_msg);
	
}

function get_msg(){//tom function för att inte js skall löpa amok
	
	/*if(xmlHttp.readyState == 4){
		alert(xmlHttp.responseText);
	}*/
}
//****************************************************** JULKOD  ************************************
function setKampamjkod(field){
	
	var handler = get_handler(field);
	
	var kod = handler.value;
	var script = base_url + "set_kampanj.php?kod=" + kod;
	
	xmlHttp = ajaxFunction();
	send(script,calc_kod);
	
}

function setGiftCertificateCode(field) {
	var handler = get_handler(field);
	
	var code = handler.value;
	var script = base_url + "set_gift_certificate_code.php?code=" + code;
	
	xmlHttp = ajaxFunction();
	send(script, validateGiftCertificateCode);
}

function validateGiftCertificateCode() {
	var lang_en = (document.location + '').match(/L=1/);
	
	if(xmlHttp.readyState == 4) {
		if (xmlHttp.responseText.split(',')[0] == -1) {
			if (lang_en) {
				alert('Max one gift certificate.');
			} else {
				alert('Max ett presentkort.');
			}
		} else if (xmlHttp.responseText.split(',')[0] == -2) {
			if (lang_en) {
				alert('No such code');
			} else {
				alert('Ingen sådan kod finns.');
			}
		} else if (xmlHttp.responseText.split(',')[0] == -3) {
			var arr = xmlHttp.responseText.split(',');
			var min_sum = arr[1];

			alert('Minsta köpsumman med det här presentkortet är ' + min_sum + ' SEK');
		} else if (xmlHttp.responseText.split(',')[0] == -4) {
		} else if (xmlHttp.responseText != 0) {
			var arr = xmlHttp.responseText.split(',');
			/*var type = arr[0];
			var name = lang_en ? arr[2] : arr[1];
			var discount = arr[3];
			
			if (type == 0) {
				name = name + ' (produktrabatt)';
			} else {
				var min_sum = arr[4];
				name = name + ' (orderkrabatt)';
			}*/
			
			if (lang_en) {
				name = 'Gift certificate';
			} else {
				name = 'Presentkort';
			}
			
			var discount = arr[0];

			var kampanj = get_handler('gift-certificate');
			var total = get_handler('summan');
			var total_tmp = parseInt(get_handler('real_total').value);

			total.innerHTML = (total_tmp - discount) + ' SEK';
				
			//var str = '<td class="row" colspan="5">' + name + '</td><td class="row" align="right"><div id="summan_campaign">-' + discount + ' SEK</div></td>';
			var td1 = document.createElement('td');
			td1.className = 'row';
			td1.colSpan = 5;
			td1.innerHTML = name;
			
			var td2 = document.createElement('td');
			td2.className = 'row';
			td2.colSpan = 1;
			td2.align = 'right';
			td2.innerHTML = '<div id="sum-gift-certificate">-' + discount + ' SEK</div>';

			kampanj.appendChild(td1);
			kampanj.appendChild(td2);
		}
	}
}

function calc_kod()
{
	if(xmlHttp.readyState == 4) {
		if (xmlHttp.responseText.split(',')[0] == -1) {
			alert('Max en kampanj!');
		} else if (xmlHttp.responseText.split(',')[0] == -2) {
			alert('Ingen sådan kampanj finns!');
		} else if (xmlHttp.responseText.split(',')[0] == -3) {
			var lang_en = (document.location + '').match(/L=1/);
			var arr = xmlHttp.responseText.split(',');
			var min_sum = arr[1];

			alert('Minsta köpsumman för den här kampanjen är ' + min_sum + ' SEK');
		} else if (xmlHttp.responseText.split(',')[0] == -4) {
		} else if (xmlHttp.responseText != 0) {
			var lang_en = (document.location + '').match(/L=1/);
			var arr = xmlHttp.responseText.split(',');
			var type = arr[0];
			var name = lang_en ? arr[2] : arr[1];
			var discount = arr[3];
			
			if (type == 0) {
				name = name + ' (produktrabatt)';
			} else {
				var min_sum = arr[4];
				name = name + ' (orderkrabatt)';
			}

			var kampanj = get_handler('kampanj');
			var total = get_handler('summan');
			var total_tmp = parseInt(get_handler('real_total').value);

			total.innerHTML = (total_tmp - discount) + ' SEK';
				
			//var str = '<td class="row" colspan="5">' + name + '</td><td class="row" align="right"><div id="summan_campaign">-' + discount + ' SEK</div></td>';
			var td1 = document.createElement('td');
			td1.className = 'row';
			td1.colSpan = 5;
			td1.innerHTML = name;
			
			var td2 = document.createElement('td');
			td2.className = 'row';
			td2.colSpan = 1;
			td2.align = 'right';
			td2.innerHTML = '<div id="summan_campaign">-' + discount + ' SEK</div>';

			kampanj.appendChild(td1);
			kampanj.appendChild(td2);
		}
	}
}

//*************************************************************** KOLLAR ANVÄNDARFORMULÄR **********************************************************

function check_user_info(form) {
	var lang_en = (document.location + '').match(/L=1/);

	var elementen = new Array('orgnr','moms','foretagsnamn','fornamn','efternamn','adr','ponr','ort','tele','mail');
	var sant = true;
	if(form.elements[0].value != 0)//Om inte kundtyp är vald
	{
		
		if(form.elements[0].value == 2){
			for(i=0;i<elementen.length;i++){
			
				var value = document.getElementById(elementen[i]).value;
			
				if(value.length < 1){
					if (!lang_en) {
						alert("Det finns vissa obligatoriska fält som du inte fyllt i");
					} else {
						alert("Please fill in all the required fields.");
					}
					sant = false;
					break;
				}
			
			}
		}
		else if(form.elements[0].value == 1){
			
			for(i=3;i<elementen.length;i++){
			
				var value = document.getElementById(elementen[i]).value;
			
				if(value.length < 1){
				
					if (!lang_en) {
						alert("Det finns vissa obligatoriska fält som du inte fyllt i");
					} else {
						alert("Please fill in all the required fields.");
					}
					sant = false;
					break;
				}
			
			}
			
			
		}
		
		
		if(sant){
			if(document.getElementById('land').value == 0){//Om man inte valt land
				if (!lang_en) {
					alert("Du måste ange vilket land du bor i");
				} else {
					alert("Please select your country.");
				}
				
				sant = false;
			}
		}
		
		if(sant)
			return true;
		else
			return false;
	}
	else{
		if (!lang_en) {
			alert("Du måste ange vilken kundtyp du är!");
		} else {
			alert("Please choose a customer type.");
		}

		return false;
	}
}
//************************************************************* Öppna nytt password-creator ******************************************
function open_pass_gen(){
	
	var url = base_url + "create_new_password.php";
	var fonstret = window.open(url,'kalle', 'width=400, height=320');
	var x = (screen.width/2) - 140;
	var y = (screen.height/2) - 100;
	
	fonstret.moveTo(x,y);
	
	
}
//***************************************************************** Låt användare byta lösenord **************************************
function change_pass(id){
	
	var form = get_handler(id);
	var kund_id = form[0].value;
	
	// English?
	var lang_en = (document.location + '').match(/L=1/);
	
	var values = new Array();
	for(i=1;i<form.length;i++){
		if(form[i].type == 'password')
			values[i - 1] = form[i].value;
	}
	
	if (values[1].length > 4) {
		if (values[1] == values[2]) {
		
			var adr = base_url + "update_user_pass.php?kund_id=" + kund_id + "&old_pass=" + values[0] + "&new_pass=" + values[1] + "&tid=" + get_timestamp();
			if (lang_en) {
				adr += '&L=1';
			}
			xmlHttp = ajaxFunction();
			send(adr, view_changed_pass);		
		}
		else{
			if (lang_en) {
				alert("Both passwords must be the same.\nPlease try again.");
			} else {
				alert("Du angav inte samma lösenord i det två rutorna.\nVänligen försök igen.");
			}
		}
	}
	else{
		if (lang_en) {
			alert("The new password must be at least 5 characters long.");
		} else {
			alert("Det nya lösenorder måste innehålla minst 5 tecken.");
		}
	}
}

function view_changed_pass(){
	
	if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
		
		var handler = get_handler('byt_pass');
		handler.innerHTML = xmlHttp.responseText;
		
	}
	
}

//******************************************************************* Skriv ut top_bar *****************************************************************

//document.onload = create_top_bar();//Här laddar jag top_bar.

function create_top_bar(){
	
	
	//var adr = new String(window.location);
	//var last_likamed = adr.lastIndexOf("=");
	
	//var var_1 = adr.substr(last_likamed -1);
	var lang_en = (document.location + '').match(/L=1/);
	
	var time = get_timestamp();
	var script = "/fileadmin/templates/top_bar.php?tid=" + time;
	
	if (lang_en) {
		script += '&L=1';
	}
	//if(var_1 == 'L=1')
		//script += "&L=1";
	
	xmlHttp = ajaxFunction();
	
	send(script, display_top);
	
	
}

function display_top(){
	
	if(xmlHttp.readyState == 4){
		
		
		var handler = get_handler('inlog')
		handler.innerHTML = xmlHttp.responseText;
		
	}
	
}

/**
 * Function som sköter inloggningen till sidan
 * 
 * @return void
 * 
 */
function get_inlogg(){
	
	var anvnamn = get_handler('anvnamn').value;
	var pass = get_handler('pass').value;
	
	var script = base_url + "customer_login_ajax.php";
	
	var param = 'anvnamn=' + anvnamn + "&pass=" + pass;
	
	param += "&top=1&tid=" +  get_timestamp();
	
	//alert(param);
	
	xmlHttp = ajaxFunction();
	
	send_post(script,param,top_bar_inlog);
	
	
}

function top_bar_inlog()
{
	var lang_en = (document.location + '').match(/L=1/);

	if(xmlHttp.readyState == 4){
		if (xmlHttp.responseText == 1) {
			create_top_bar(xmlHttp.responseText);
		} else {
			if (lang_en) {
				alert('Wrong username or password!');
			} else {
				alert('Felaktigt användarnamn eller lösenord!');
			}
		}
	}
}

function clean_field(obj){//Rensar inloggningsrutorna i top bar.
	
	obj.value = '';
}

function load_lang(lang){
	
	
	
	var adr = new String(window.location);
	
	if (lang == 1) {
		
		if(adr.indexOf('?')>0)
			adr += '&L=1';
		else
			adr = '?L=1';
	}
	else {
	
		//adr += '&L='
		//var adr = adr.substr(0, adr.lastIndexOf('=') - 2);
		var adr = adr.replace(/\&L=1/gi, '');
		var adr = adr.replace(/\?L=1\&/gi, '?');
		var adr = adr.replace(/\?L=1/gi, '');
		
	}	
	window.location = adr;
	
}

function sign_out(){
	
	var adr = window.location;
	var script = base_url + 'sign_out.php?time=' + get_timestamp() + '&adr=' + adr;
	
	xmlHttp =ajaxFunction();
	
	send(script,get_logout);
	
}

function get_logout(){
	if(xmlHttp.readyState == 4)
		window.location = xmlHttp.responseText;
}
