function kollamax(Object, MaxLen)
{
	return (Object.value.length <= MaxLen);
}

function rakna(Object)
{
	if (Object.value.length+1 == 1)
	{
		document.getElementById("antal").innerHTML="300 tecken kvar";
	} else {
		document.getElementById("antal").innerHTML=300-Object.value.length+" tecken kvar";
	}
}

function checksearch(form)
{
	var o = document.getElementById(form);
	
	if (o.value.length < 1)
	{
		// Händer inte ett skit säger emas
	} else {
		location.href="/search/"+document.getElementById(form).value+"/";
	}
}


function submitsearch(form, event) 
{
	var unicode = event.charCode ? event.charCode : event.keyCode;
	if (unicode == 13)
	{
		checksearch(form);
 	}
}




function ValidateInfoForm()
{
	var str = "";
	var o = document.frmCustomerInfo;
	o.postnr.value = o.postnr.value.replace(/\D/g,"")
	
	
	
	if(o.fnamn.value=="") { str += "&bull; Förnamn<br>"; }
	if(o.enamn.value=="") { str += "&bull; Efternamn<br>"; }
	if(o.epost.value=="") {
		str += "&bull; E-postadress<br>";
	} else {
		if((o.epost.value.indexOf('@')==-1)||(o.epost.value.indexOf('.')==-1)) {
			str += "&bull; Din e-postadress är ogiltig.<br>";
		}
	}
	if(o.tele.value=="") { str += "&bull; Telefonnummer<br>"; }
	
	
	if(o.gata.value=="") { str += "&bull; Gatuadress<br>"; }
	if((o.postnr.value=="") || ((o.postnr.value).length != 5)) { str += "&bull; Postnummer<br>"; }
	if(o.postort.value=="") { str += "&bull; Postort<br>"; }
	
	
	if(!(o.avtal.checked)) { str += "&bull; Avtal<br>"; }
	
	
	if(str!="") {
		str = "<b>Du måste fylla i dessa formulär för att fortsätta:</b><br>" + str + "<br>";
		//alert(str);
		document.getElementById("errorwindow").style.display='block';
		document.getElementById("errorwindow").style.visibility='visible';
		document.getElementById("errorcontent").innerHTML=str;
	} else {
		o.submit();
		//alert("Klart att gå vidare");
	}
}


function GetFreightValue() {
	var o = document.frmPDInfo;
	
	if(!o.delway)
		return "";
	var radioLength = o.delway.length;
	if(radioLength == undefined)
		if(o.delway.checked)
			return o.delway.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(o.delway[i].checked) {
			return o.delway[i].value;
		}
	}
	return "";
}

function GetPaymentValue() {
	var o = document.frmPDInfo;
	
	if(!o.payway)
		return "";
	var radioLength = o.payway.length;
	if(radioLength == undefined)
		if(o.payway.checked)
			return o.payway.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(o.payway[i].checked) {
			return o.payway[i].value;
		}
	}
	return "";
}

function GetDbbValue() {
	var o = document.frmPDInfo;
	
	if(!o.dbbpayment)
		return "";
	var radioLength = o.dbbpayment.length;
	if(radioLength == undefined)
		if(o.dbbpayment.checked)
			return o.dbbpayment.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(o.dbbpayment[i].checked) {
			return o.dbbpayment[i].value;
		}
	}
	return "";
}


function checkCVC()
{
	var str = document.frmPDInfo.cvc.value;
	str = str.replace(/\D/g,"");
	document.frmPDInfo.cvc.value = str;
	if((str.length > 4) || (str.length < 1)) {
		return "Ditt kontrollnummer är ogiltigt (Max 4 siffror) Om det står fler siffror på baksidan så skriv in de 3 eller 4 sista.";
	}
	return "";
}

function checkPERSNR(persnr)
{
	if(((persnr).length!=10)||(isNaN(persnr))) 
	{
		return "Ditt personnnummer är felinmatat.";
	}
	return "";
}

function checkIfCard(cc)
{
	if (!checkCreditCard(cc)) {
		return false;
	}
	if (!isMasterCard(cc) && !isVisa(cc) && !isAmericanExpress(cc) && !isDinersClub(cc) && !isDiscover(cc)) {
		return false;
	}
	
	return true;
}

function checkCreditCard(st) {
	// Encoding only works on cards with less than 19 digits
	if (st.length > 19)
		return (false);

	sum = 0; mul = 1; l = st.length;
	for (i = 0; i < l; i++) {
		digit = st.substring(l-i-1,l-i);
		tproduct = parseInt(digit ,10)*mul;
		if (tproduct >= 10)
			sum += (tproduct % 10) + 1;
		else
			sum += tproduct;
		if (mul == 1)
			mul++;
		else
			mul--;
	}

	if ((sum % 10) == 0)
		return (true);
	else
		return (false);
}

function isVisa(cc)
{
	if (((cc.length == 16) || (cc.length == 13)) && (cc.substring(0,1) == 4))
		return checkCreditCard(cc);
	return false;
}

function isMasterCard(cc)
{
	firstdig = cc.substring(0,1);
	seconddig = cc.substring(1,2);
	if ((cc.length == 16) && (firstdig == 5) && ((seconddig >= 1) && (seconddig <= 5)))
		return checkCreditCard(cc);
	return false;
}

function isAmericanExpress(cc)
{
	firstdig = cc.substring(0,1);
	seconddig = cc.substring(1,2);
	if ((cc.length == 15) && (firstdig == 3) && ((seconddig == 4) || (seconddig == 7)))
		return checkCreditCard(cc);
	return false;
}

function isDinersClub(cc)
{
	firstdig = cc.substring(0,1);
	seconddig = cc.substring(1,2);
	if ((cc.length == 14) && (firstdig == 3) && ((seconddig == 0) || (seconddig == 6) || (seconddig == 8)))
		return checkCreditCard(cc);
	return false;
}

function isDiscover(cc)
{
	first4digs = cc.substring(0,4);
	if ((cc.length == 16) && (first4digs == "6011"))
		return checkCreditCard(cc);
	return false;
}

function ValidatePaymentForm()
{
	var str = "";
	var o = document.frmPDInfo;
	
	// Hämtar vilket fraktalternativ man valt, är det tomt så säger han det
	var freight = GetFreightValue();
	if (freight=="") 
	{
		str += "&bull; Du måste välja fraktsätt<br>";
	}
	
	// Hämtar betalningsalternativ och säger vad man valt. empty = whine
	var payment = GetPaymentValue();
	if (payment=="") 
	{
		str += "&bull; Du måste välja betalningssätt<br>";
	}
	
	if (payment == 2)
	{
		var persnr = checkPERSNR(o.cc_persnr.value);
		if(persnr != "") { str += "&bull; "+persnr+"<br>"; }
	}
	

	
	if (payment == 4)
	{
		var persnr = checkPERSNR(o.fm_persnr.value);
		if(persnr != "") { str += "&bull; "+persnr+"<br>"; }
		if(!o.kreditoravtal.checked) { str += "&bull; Du måste godkänna Kreditors avtal<br>"; }
	}
	
	if (payment == 5)
	{
		var persnr = checkPERSNR(o.f_persnr.value);
		if(persnr != "") { str += "&bull; "+persnr+"<br>"; }
	}
	
	if (o.rabatt.value.length > 0)
	{
		var rutan = document.getElementById("rabattdiv").innerHTML;
		rutan = rutan.search(/J/);
		
		if (rutan != 18 && rutan != 20)
		{
			str += "&bull; Du har inte angivit rätt rabattkod<br>";
		}
	}
	
	
	// Kontroll ifall vi har hittat något fel eller om vi ska släppa vidare
	if (str != "")
	{
		str = "<b>Du måste fylla i dessa formulär för att fortsätta:</b><br>" + str + "<br>";
		//alert(str);
		document.getElementById("errorwindow").style.display="block";
		document.getElementById("errorwindow").style.visibility="visible";
		document.getElementById("errorcontent").innerHTML=str;	
	} else {
		o.submit();
	}
	
}


function CloseError()
{
	document.getElementById("errorwindow").style.display='none';
	document.getElementById("errorwindow").style.visibility='hidden';
	document.getElementById("errorcontent").innerHTML="";
}


function CheckCouponFeild()
{
	var o = document.frmPDInfo;
	if (o.rabatt.value.length > 0)
	{
		GetCoupon(document.frmPDInfo.rabatt.value);
	}
}


var ddmenuitem	= 0;
function OpenFrame(id)
{
	if (ddmenuitem != 0)
	{
		document.getElementById(ddmenuitem).style.display="none";
		document.getElementById(ddmenuitem).style.visibility="hidden";
	}
	
	if (id.length > 0 && id != 0)
	{
		document.getElementById(id).style.display="block";
		document.getElementById(id).style.visibility="visible";
		ddmenuitem = id;
	}
}


// Denna kod sköter menyn!
function LoadMenu (str) 
{
		var url="/include/getmenu.php" + str;
		var myAjax = new Ajax.Request( url, {method: 'get', onComplete: ShowMenu} );
}
	
// Ska vara om man vill ha något när den håller på att ladda.. men det har vi inte i detta fallet
function MenuLoad () {
	loading="<img src='ajax-loader.gif'>";
	document.getElementById("ruta").innerHTML=loading;
}

// Här gör han allt när han har laddat klart menyn
function ShowMenu (originalRequest) {
	var newData = originalRequest.responseText;
	document.getElementById("meny").innerHTML="";
	document.getElementById("meny").innerHTML=newData;

}


// Coupon
function GetCoupon (str) 
{
		var url="/include/getcoupon.php?ID=" + str;
		var myAjax = new Ajax.Request( url, {method: 'get', onComplete: ShowCoupon} );
}

// Här ger han svaret om det blev någon coupon eller inte!
function ShowCoupon (originalRequest) {
	var newData = originalRequest.responseText;
	document.getElementById("rabattdiv").innerHTML="";
	document.getElementById("rabattdiv").innerHTML=newData;	
}




// Denna kod sköter suggestions
function Suggestions (str) 
{
		var url="/include/suggest_result.php" + str;
		var myAjax = new Ajax.Request( url, {method: 'get', onComplete: ShowSuggestions} );
}

// Här gör han allt när han har laddat klart suggestions
function ShowSuggestions (originalRequest) 
{
	var newData = originalRequest.responseText;
	
	if (newData.length > 10)
	{
		if (document.getElementById("qa").value.length > 0)
		{
			document.getElementById("sugge").style.display="block";
		} 
		else 
		{
			document.getElementById("sugge").style.display="none";
		}
		
		document.getElementById("sugge").innerHTML="";
		document.getElementById("sugge").innerHTML=newData;
	} 
	else
	{
		document.getElementById("sugge").style.display="none";
	}
}

// Coupon
function GetComment(id, page) 
{
		var o = document.cmntform;
		var str = "";

		if (document.getElementById("name") != null)
		{			
			var namn = o.name.value;
		} else {
			var namn = "";
		}
		
		if (document.getElementById("email") != null)
		{			
			var email = o.email.value;
		} else {
			var email = "";
		}
		 
		var url="/include/getcomments.php" + "?id=" + id + "&page=" + page;
		var params = "text=" + o.text.value + "&name=" + namn + "&email=" + email;
		var myAjax = new Ajax.Request( url, {method:'post', parameters:params, onComplete: ShowComment} );
}


function CommentPageSelect(page, id) 
{
				
		var url="/include/getcomments.php?page=" + page + "&id=" + id;
		var myAjax = new Ajax.Request( url, {method: 'POST', onComplete: ShowComment} );
}

// Här ger han svaret om det blev någon coupon eller inte!
function ShowComment (originalRequest) {
	var newData = "";
	newData = originalRequest.responseText;
	//document.getElementById("comment").innerHTML="";
	document.getElementById("comment").innerHTML=newData;	
}

function kvitto()
{
	var a = window.open('','Kvitto','width=300,height=300');
	a.document.open("text/html");
	a.document.write(document.getElementById('kvitto').innerHTML);
	a.document.close();
	a.print();
}

function ShowAnotherPic(str)
{
	document.getElementById('produktpic').src=str;
}



// Produkt
function GetProduktInfo(id, SizeID) 
{
	var url="/include/produktinfo.php?ID=" + id + "&SizeID=" + SizeID;
	var myAjax = new Ajax.Request( url, {method: 'get', onComplete: ShowInfo} );
}

function LoadProdukt()
{
	var str = "<center><img src='/imgs/ajax-loader-red.gif'></center>";
	document.getElementById("pdcontent").innerHTML=str;
}

// Produktsvar
function ShowInfo (originalRequest) {
	var newData = originalRequest.responseText;
	document.getElementById("pdcontent").innerHTML=newData;	
}



// Ladda bilder! :D
function GetProduktPiccen(id) 
{
	var url="/include/getproduktpic.php?ID=" + id;
	var myAjax = new Ajax.Request( url, {method: 'get', onLoading: LoadProduktPic, onComplete: ShowProduktPichure} );
}

function LoadProduktPic()
{
	var str = "<center><img src='/imgs/ajax-loader-red.gif'></center>";
	document.getElementById("picdiven").innerHTML=str;
}

function ShowProduktPichure (originalRequest) {
	var newData = originalRequest.responseText;
	document.getElementById("picdiven").innerHTML=newData;	
}

function css_class_exist( class )
{
	var list = document.styleSheets;
	for( var i = 0; i < list.length; i++ )
	{
		var kalle = list[i].rules;
		for( var a = 0; a < kalle.length; a++ )
		{
			if( kalle[a].selectorText == class )
			{
				return true;
			}
		}
	}
	return false;
}
