
// Skryje nebo zobrazi element
function ShowOrHideElement(elementId)
{
	var obj = document.getElementById(elementId);
	if (obj.style.display.toLowerCase() == "none") {
		obj.style.display = "block";
	} else {
		obj.style.display = "none";
	}
} 

//Funkce pro vytvoreni xmlHttp dotazu
function createXmlHttpRequest() {                
    if(navigator.appName == "Microsoft Internet Explorer") {
       xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else {
       xmlHttp = new XMLHttpRequest();
    }
} 

// funkce pro ziskani ceny objednavky
function getPrice(osoby, kod, cena)
{
	if(cena != undefined && kod == '') {
		if(isNaN(parseInt(osoby)) || osoby == 0) {
			document.getElementById('priceInput').value = "";
		} else {
			document.getElementById('priceInput').value = cena*parseInt(osoby);
		}
		document.getElementById('singlePrice').value = cena;
		document.getElementById('discountNote').innerHTML = "";
	} else {
		createXmlHttpRequest();
		xmlHttp.abort();
		xmlHttp.open("GET", "/ajax/getPrice.php?pocet_osob="+osoby+"&kod="+kod, true);
		xmlHttp.onreadystatechange = function() {
			if(xmlHttp.readyState == 4) {
				if(xmlHttp.status == 200) {
					if(cena != undefined) {
						if(isNaN(parseInt(osoby)) || osoby == 0 || xmlHttp.responseText.split("|")[0]==undefined) {
							document.getElementById('priceInput').value = "";
							document.getElementById('singlePrice').value = cena;
						} else if(xmlHttp.responseText.split("|")[2]=="0") {
							document.getElementById('priceInput').value = cena*parseInt(osoby);
							document.getElementById('singlePrice').value = cena;
						} else {
							document.getElementById('priceInput').value = Math.ceil(cena*xmlHttp.responseText.split("|")[0])*parseInt(osoby);
							document.getElementById('singlePrice').value = Math.ceil(cena*xmlHttp.responseText.split("|")[0]);
						}
					} else {
						var singlePrice = Math.ceil(xmlHttp.responseText.split("|")[0]*xmlHttp.responseText.split("|")[1]);
						if (document.getElementById('singlePrice')!=null && !isNaN(singlePrice)) {
							document.getElementById('singlePrice').value = singlePrice;
							document.getElementById('priceInput').value = singlePrice*parseInt(osoby);
						} else if (document.getElementById('singlePrice')!=null && isNaN(singlePrice)) {
							document.getElementById('singlePrice').value = "";
							document.getElementById('priceInput').value = "";
						} else if (document.getElementById('priceInput')!=null && !isNaN(singlePrice)) {
							document.getElementById('priceInput').value = singlePrice*parseInt(osoby);
						} else {
							document.getElementById('priceInput').value = "";
						}
					}
					if (document.getElementById('singlePrice')!=null && xmlHttp.responseText.split("|")[2]!=undefined && kod!=undefined && kod !="") {
						if (parseInt(xmlHttp.responseText.split("|")[2])==0) {
							document.getElementById('discountNote').innerHTML = "neplatný kód";
						} else {
							document.getElementById('discountNote').innerHTML = "sleva "+xmlHttp.responseText.split("|")[2]+"%";
						}
					} else if ((kod==undefined || kod=="") && document.getElementById('discountNote')!=null) {
						document.getElementById('discountNote').innerHTML = "";
					}
				}
			}
		}
		xmlHttp.send(null);
		document.cookie = 'count='+osoby;
	}
}

// funkce pro kontrolu dat objednavky
function validate()
{
	var valid = true;
	var filled = true;
	var podminky = true;
	var param = new Array();
	if (document.getElementById("nazev").value=="") {
		document.getElementById("nazev").style.border="1px solid red";
		filled = false;
	} else {
		document.getElementById("nazev").style.border="";
		param["nazev"]=encodeURIComponent(document.getElementById("nazev").value);
	}
	if (document.getElementById("adresa1").value=="") {
		document.getElementById("adresa1").style.border="1px solid red";
		filled = false;
	} else {
		document.getElementById("adresa1").style.border="";
		param["adresa1"]=encodeURIComponent(document.getElementById("adresa1").value);
	}
	if (document.getElementById("mesto1").value=="") {
		document.getElementById("mesto1").style.border="1px solid red";
		filled = false;
	} else {
		document.getElementById("mesto1").style.border="";
		param["mesto1"]=document.getElementById("mesto1").value;
	}
	if (document.getElementById("psc1").value=="") {
		document.getElementById("psc1").style.border="1px solid red";
		filled = false;
	} else if (document.getElementById("psc1").value.replace(/\s/, "").search(/^[0-9]{5}$/)) {
		document.getElementById("psc1").style.border="1px solid red";
		valid = false;
	} else {
		document.getElementById("psc1").style.border="";
		param["psc1"]=document.getElementById("psc1").value;
	}
	if (document.getElementById("adresa2").value!="" || document.getElementById("mesto2").value!="" || document.getElementById("psc2").value!="") {
		if (document.getElementById("adresa2").value=="") {
			document.getElementById("adresa2").style.border="1px solid red";
			filled = false;
		} else {
			document.getElementById("adresa2").style.border="";
			param["adresa2"]=encodeURIComponent(document.getElementById("adresa2").value);
		}
		if (document.getElementById("mesto2").value=="") {
			document.getElementById("mesto2").style.border="1px solid red";
			filled = false;
		} else {
			document.getElementById("mesto2").style.border="";
			param["mesto2"]=document.getElementById("mesto2").value;
		}
		if (document.getElementById("psc2").value=="") {
			document.getElementById("psc2").style.border="1px solid red";
			filled = false;
		} else if (document.getElementById("psc2").value.replace(/\s/g, "").search(/^[0-9]{5}$/)) {
			document.getElementById("psc2").style.border="1px solid red";
			valid = false;
		} else {
			document.getElementById("psc2").style.border="";
			param["psc2"]=document.getElementById("psc2").value;
		}
	}
	if (document.getElementById("ic").value=="") {
		document.getElementById("ic").style.border="1px solid red";
		filled = false;
	} else if (document.getElementById("ic").value.replace(/\s/g, "").search(/^[0-9]{8}$/)) {
		document.getElementById("ic").style.border="1px solid red";
		valid = false;
	} else {
		document.getElementById("ic").style.border="";
		param["ic"]=document.getElementById("ic").value.replace(/\s/g, "");
	}
	if (document.getElementById("dic").value!="") {
		param["dic"]=document.getElementById("dic").value;
	}
	if (document.getElementById("opravnena_osoba").value=="") {
		document.getElementById("opravnena_osoba").style.border="1px solid red";
		filled = false;
	} else {
		document.getElementById("opravnena_osoba").style.border="";
		param["opravnena_osoba"]=document.getElementById("opravnena_osoba").value;
	}
	if (document.getElementById("personCount").value=="") {
		document.getElementById("personCount").style.border="1px solid red";
		filled = false;
	} else if (document.getElementById("personCount").value.replace(/\s/g, "").search(/^[0-9]+$/)) {
		document.getElementById("personCount").style.border="1px solid red";
		valid = false;
	} else {
		document.getElementById("personCount").style.border="";
		param["personCount"]=document.getElementById("personCount").value;
	}
	if (document.getElementById("discountCode").value!="") {
		param["discountCode"]=document.getElementById("discountCode").value;
	}
	if (document.getElementById("email").value=="") {
		document.getElementById("email").style.border="1px solid red";
		filled = false;
	} else if (document.getElementById("email").value.search(/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/)) {
		document.getElementById("email").style.border="1px solid red";
		valid = false;
	} else {
		document.getElementById("email").style.border="";
		param["email"]=encodeURIComponent(document.getElementById("email").value);
	}
	if (document.getElementById("email2").value!="" && document.getElementById("email2").value.search(/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/)) {
	    document.getElementById("email2").style.border="1px solid red";
		valid = false;
	} else {
		document.getElementById("email2").style.border="";
		if (document.getElementById("email2").value!="")
		{
			param["email2"]=encodeURIComponent(document.getElementById("email2").value);
		}
	}
	if (document.getElementById("telefon").value=="") {
		document.getElementById("telefon").style.border="1px solid red";
		filled = false;
	} else if (document.getElementById("telefon").value.replace(/\s/g, "").search(/^[+]{0,1}[0-9]{9,14}$/)) {
		document.getElementById("telefon").style.border="1px solid red";
		valid = false;
	} else {
		document.getElementById("telefon").style.border="";
		param["telefon"]=document.getElementById("telefon").value;
	}
	if (document.getElementById("www").value!="") {
		param["www"]=encodeURIComponent(document.getElementById("www").value);
	}
	if (document.getElementById("novinky").checked==true) {
		param["novinky"] = "true";
	}
	if (document.getElementById("acceptVOP").checked==false) {
		podminky = false;
	} else {
		document.getElementById("acceptVOP").style.border="";
	}
	if (filled && podminky && valid) {
		createXmlHttpRequest();
		xmlHttp.abort();
	    xmlHttp.open("POST", "/ajax/saveOrder.php", true);   
	    xmlHttp.onreadystatechange = function() {
	    	if(xmlHttp.readyState == 4) {
	    		if(xmlHttp.status == 200) {
	    			document.getElementById("colorBoxContent").innerHTML = xmlHttp.responseText;
	    		}
	        }
	    } 
	    var paramString = arrayToString(param, "&");
	    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    xmlHttp.setRequestHeader("Content-length", paramString.length);
	    xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.send(paramString);		
	} else {
		var message = "";
		if (!filled) {
			message = "Musíte vyplnit všechny položky!\n";
		}
		if (!valid) {
			message += "Některé položky nejsou správně vyplněny!\n";
		}
		if (!podminky) {
			message += "Nejsou potvrzeny všeobecné obchodní podmínky!\n";
		}
		alert(message);
	}
}

//funkce pro kontrolu dat objednavky
function validateChanges()
{
	var valid = true;
	var filled = true;

	if (document.getElementById("nazev").value=="") {
		document.getElementById("nazev").style.border="1px solid red";
		filled = false;
	} else {
		document.getElementById("nazev").style.border="";
	}
	if (document.getElementById("adresa1").value=="") {
		document.getElementById("adresa1").style.border="1px solid red";
		filled = false;
	} else {
		document.getElementById("adresa1").style.border="";
	}
	if (document.getElementById("mesto1").value=="") {
		document.getElementById("mesto1").style.border="1px solid red";
		filled = false;
	} else {
		document.getElementById("mesto1").style.border="";
	}
	if (document.getElementById("psc1").value=="") {
		document.getElementById("psc1").style.border="1px solid red";
		filled = false;
	} else if (document.getElementById("psc1").value.replace(/\s/, "").search(/^[0-9]{5}$/)) {
		document.getElementById("psc1").style.border="1px solid red";
		valid = false;
	} else {
		document.getElementById("psc1").style.border="";
	}
	if (document.getElementById("adresa2").value!="" || document.getElementById("mesto2").value!="" || document.getElementById("psc2").value!="") {
		if (document.getElementById("adresa2").value=="") {
			document.getElementById("adresa2").style.border="1px solid red";
			filled = false;
		} else {
			document.getElementById("adresa2").style.border="";
		}
		if (document.getElementById("mesto2").value=="") {
			document.getElementById("mesto2").style.border="1px solid red";
			filled = false;
		} else {
			document.getElementById("mesto2").style.border="";
		}
		if (document.getElementById("psc2").value=="") {
			document.getElementById("psc2").style.border="1px solid red";
			filled = false;
		} else if (document.getElementById("psc2").value.replace(/\s/g, "").search(/^[0-9]{5}$/)) {
			document.getElementById("psc2").style.border="1px solid red";
			valid = false;
		} else {
			document.getElementById("psc2").style.border="";
		}
	}
	if (document.getElementById("dic").value!="") {
		param["dic"]=document.getElementById("dic").value;
	}
	if (document.getElementById("opravnena_osoba").value=="") {
		document.getElementById("opravnena_osoba").style.border="1px solid red";
		filled = false;
	} else {
		document.getElementById("opravnena_osoba").style.border="";
	}
	if (document.getElementById("email").value=="") {
		document.getElementById("email").style.border="1px solid red";
		filled = false;
	} else if (document.getElementById("email").value.search(/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/)) {
		document.getElementById("email").style.border="1px solid red";
		valid = false;
	} else {
		document.getElementById("email").style.border="";
	}
	if (document.getElementById("email2").value!="" && document.getElementById("email2").value.search(/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/)) {
	    document.getElementById("email2").style.border="1px solid red";
		valid = false;
	} else {
		document.getElementById("email2").style.border="";
	}
	if (document.getElementById("telefon").value=="") {
		document.getElementById("telefon").style.border="1px solid red";
		filled = false;
	} else if (document.getElementById("telefon").value.replace(/\s/g, "").search(/^[+]{0,1}[0-9]{9,14}$/)) {
		document.getElementById("telefon").style.border="1px solid red";
		valid = false;
	} else {
		document.getElementById("telefon").style.border="";
	}
	if (filled && valid) {
		document.changeForm.submit();		
	} else {
		var message = "";
		if (!filled) {
			message = "Musíte vyplnit všechny položky!\n";
		}
		if (!valid) {
			message += "Některé položky nejsou správně vyplněny!\n";
		}
		alert(message);
	}
}

//funkce pro kontrolu dat doobjednavky
function validateReorder()
{
	var valid = true;
	var filled = true;
	var podminky = true;
	var param = new Array();
	param["priobjednat"]=1;
	if (document.getElementById("personCount").value=="") {
		document.getElementById("personCount").style.border="1px solid red";
		filled = false;
	} else if (document.getElementById("personCount").value.replace(/\s/g, "").search(/^[0-9]+$/)) {
		document.getElementById("personCount").style.border="1px solid red";
		valid = false;
	} else {
		document.getElementById("personCount").style.border="";
		param["personCount"]=document.getElementById("personCount").value;
	}
	if (document.getElementById("discountCode").value!="") {
		param["discountCode"]=document.getElementById("discountCode").value;
	}
	if (document.getElementById("acceptVOP").checked==false) {
		podminky = false;
	} else {
		document.getElementById("acceptVOP").style.border="";
	}
	if (filled && podminky && valid) {
		createXmlHttpRequest();
		xmlHttp.abort();
	    xmlHttp.open("POST", "/ajax/saveOrder.php", true);
	    xmlHttp.onreadystatechange = function() {
	    	if(xmlHttp.readyState == 4) {
	    		if(xmlHttp.status == 200) {
	    			document.getElementById("colorBoxContent").innerHTML = xmlHttp.responseText;
	    		}
	        }
	    }
	    var paramString = arrayToString(param, "&");
	    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    xmlHttp.setRequestHeader("Content-length", paramString.length);
	    xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.send(paramString);
	} else {
		var message = "";
		if (!filled) {
			message = "Musíte vyplnit všechny položky!\n";
		}
		if (!valid) {
			message += "Některé položky nejsou správně vyplněny!\n";
		}
		if (!podminky) {
			message += "Nejsou potvrzeny všeobecné obchodní podmínky!\n";
		}
		alert(message);
	}
}
	
//funkce pro vypsani paramteru do retezce
function arrayToString(array, delimiter)
{
	var string="";
	for (key in array)
	{
		string+=key+"="+encodeURI(array[key])+delimiter;
	}
	return string.substr(0,string.length-delimiter.length);
}

//funkce pro zkontrolovani jednoznacnosti IC
function checkIc(value, noAlert)
{
	createXmlHttpRequest();
	xmlHttp.abort();
    xmlHttp.open("GET", "/ajax/kontrolaIc.php?ic="+value.replace(/\s/g, ""), true);
    xmlHttp.onreadystatechange = function() {
    	if(xmlHttp.readyState == 4) {
    		if(xmlHttp.status == 200) {
    			if (xmlHttp.responseText.split("::")[0]=="true") {
					var i;
					for (i=0;i<document.orderForm.elements.length;i++ ) {
						if (!(document.orderForm.elements[i].name == "ic" || document.orderForm.elements[i].name == "personCount" || document.orderForm.elements[i].name == "discountCode" || document.orderForm.elements[i].name == "acceptVOP")) {
							document.orderForm.elements[i].disabled = true;
						}
					}
    				if (!noAlert) {
    					alert("Zadané IČ už je zaregistrováno, formulář bude předvyplněn.");
    				}
    				var fields = xmlHttp.responseText.split("::");
    				for (var i=2;fields[i]!=undefined;i++)
    				{
    					if (fields[i].split("=")[0]=="novinky" || fields[i].split("=")[0]=="informovat")
    					{
    						if (fields[i].split("=")[1]=="ano")
    						{
    							document.getElementById(fields[i].split("=")[0].toString()).checked=true;
    						} else {
								document.getElementById(fields[i].split("=")[0].toString()).checked=false;
							}
    					} else {
    						document.getElementById(fields[i].split("=")[0].toString()).value=htmlspecialchars_decode(fields[i].split("=")[1]);
    					}
    				}
    			} else {
					for (i=0;i<document.orderForm.elements.length;i++ ) {
						if (!(document.orderForm.elements[i].name == "singlePrice" || document.orderForm.elements[i].name == "priceInput")) {
							document.orderForm.elements[i].disabled = false;
						}
					}
				}
    		}
        }
    } 
	xmlHttp.send(null);
}

//funkce pro kontrolu validity certifikacniho formulare
function checkCertificateForm()
{
	var valid = true;
	var filled = true
	var podminky = true;
	if (document.getElementById("jmeno").value=="") {
		document.getElementById("jmeno").style.border="1px solid red";
		filled = false;
	} else {
		document.getElementById("jmeno").style.border="";
	}
	if (document.getElementById("datum_narozeni").value=="") {
		document.getElementById("datum_narozeni").style.border="1px solid red";
		filled = false;
	} else if (document.getElementById("datum_narozeni").value.replace(/\s/, "").search(/^[0-3]{0,1}[0-9]{1}\.[0-1]{0,1}[0-9]{1}\.[0-9]{4}$/)) {
		document.getElementById("datum_narozeni").style.border="1px solid red";
		valid = false;
	} else {
		document.getElementById("datum_narozeni").style.border="";
	}
	if (document.getElementById("cislo_rp").value=="") {
		document.getElementById("cislo_rp").style.border="1px solid red";
		filled = false;
	//} else if (document.getElementById("cislo_rp").value.replace(/\s/, "").search(/^[a-zA-Z]{2}[\s]{0,1}[0-9]{6}$/)) {
		//document.getElementById("cislo_rp").style.border="1px solid red";
		//valid = false;
	} else {
		document.getElementById("cislo_rp").style.border="";
	}
	if (document.getElementById("acceptVOP").checked==false) {
		podminky = false;
	} else {
		document.getElementById("acceptVOP").style.border="";
	}
	if (filled && valid && podminky) {
		document.getElementById("start_test").submit();		 
	} else {
		var message = "";
		if (!filled) {
			message = "Musíte vyplnit všechny položky!\n";
		}
		if (!valid) {
			message += "Některé položky nejsou správně vyplněny!\n";
		}
		if (!podminky) {
			message += "Nejsou potvrzeny všeobecné obchodní podmínky!\n";
		}
		alert(message);
	}
}

//funkce pro kontrolu certifikacniho testu
function checkCertificateAnswer()
{
	var count=0;
	for (var i=document.certificateTest.length-1;i>=0;i--)
	{
		if (document.certificateTest.elements[i].checked)
		{
			count++;
		}
	}
	if (count!=10) {
		alert("Nejsou vyplněny všechny odpovědi!");
	} else {
		if (confirm("Opravdu si přejete test odeslat?"))
		{
			document.certificateTest.submit();
		}
	}
}

//funkce pro odeslani kontaktniho formulare
function sendEmail()
{
	var filled = true;
	var valid = true;
	if (document.getElementById("contactFormEmail").value=="Zadejte Váš email" || document.getElementById("contactFormEmail").value=="") {
		document.getElementById("contactFormEmail").style.border="1px solid red";
		filled = false;
	} else if (document.getElementById("contactFormEmail").value.search(/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/)) {
		document.getElementById("contactFormEmail").style.border="1px solid red";
		valid = false;
	} else {
		document.getElementById("contactFormEmail").style.border="";
	}	
	if (document.getElementById("contactFormText").value=="Zadejte Váš dotaz" || document.getElementById("contactFormText").value=="") {
		document.getElementById("contactFormText").style.border="1px solid red";
		filled = false;
	} else {
		document.getElementById("contactFormText").style.border="";
	}	
	if (filled && valid) {
		document.contactForm.submit();
	} else {
		var message = "";
		if (!filled) {
			message = "Musíte vyplnit všechny položky!\n";
		}
		if (!valid) {
			message += "Některé položky nejsou správně vyplněny!\n";
		}
		alert(message);
	}
}

function htmlspecialchars_decode (string, quote_style) {
    // Convert special HTML entities back to characters
    //
    // version: 912.1315
    // discuss at: http://phpjs.org/functions/htmlspecialchars_decode    // +   original by: Mirek Slugen
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Mateusz "loonquawl" Zalega
    // +      input by: ReverseSyntax
    // +      input by: Slawomir Kaniecki    // +      input by: Scott Cariss
    // +      input by: Francois
    // +   bugfixed by: Onno Marsman
    // +    revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)    // +      input by: Ratheous
    // +      input by: Mailfaker (http://www.weedem.fr/)
    // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
    // +    bugfixed by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: htmlspecialchars_decode("<p>this -&gt; &quot;</p>", 'ENT_NOQUOTES');    // *     returns 1: '<p>this -> &quot;</p>'
    // *     example 2: htmlspecialchars_decode("&amp;quot;");
    // *     returns 2: '&quot;'
    var optTemp = 0, i = 0, noquotes= false;
    if (typeof quote_style === 'undefined') {        quote_style = 2;
    }
    string = string.toString().replace(/&lt;/g, '<').replace(/&gt;/g, '>');
    var OPTS = {
        'ENT_NOQUOTES': 0,        'ENT_HTML_QUOTE_SINGLE' : 1,
        'ENT_HTML_QUOTE_DOUBLE' : 2,
        'ENT_COMPAT': 2,
        'ENT_QUOTES': 3,
        'ENT_IGNORE' : 4    };
    if (quote_style === 0) {
        noquotes = true;
    }
    if (typeof quote_style !== 'number') { // Allow for a single string or an array of string flags
		quote_style = [].concat(quote_style);
        for (i=0; i < quote_style.length; i++) {
            // Resolve string input to bitwise e.g. 'PATHINFO_EXTENSION' becomes 4
            if (OPTS[quote_style[i]] === 0) {
                noquotes = true;            }
            else if (OPTS[quote_style[i]]) {
                optTemp = optTemp | OPTS[quote_style[i]];
            }
        }        quote_style = optTemp;
    }
    string = string.replace(/&#0*39;/g, "'"); // PHP doesn't currently escape if more than one 0, but it should
        // string = string.replace(/&apos;|&#x0*27;/g, "'"); // This would also be useful here, but not a part of PHP
	if (!noquotes) {
		string = string.replace(/&quot;/g, '"');
	}
	// Put this in last place to avoid escape being double-decoded
	string = string.replace(/&amp;/g, '&');
	return string;
}