var client_cookie_name      = 'offer_cart';    //Ebben a sütiben gyűjti össze a rendszer a megrendeléseket - tetszés szerint átnevezhető
var client_cookie_separator = '_';             //Ezzel lesznek elválasztva egymástól a sütiben az értékek - EGY KARAKTER
var client_image_checked    = 'images/on.gif';        //Annak a képnek a neve, ami a bejölt állapotot jelzi
var client_image_unchecked  = 'images/off.gif';       //Annak a képnek a neve, ami az üres állapotot jelzi 

var client_image_value_id_separator = '/'     //Az image_checkboxok használata esetén szokséges - EGY KARAKTER

var client_images = new Array();
client_images['on'] = new Image();
client_images['off'] = new Image();
client_images['on'].src = client_image_checked;
client_images['off'].src = client_image_unchecked;

addreturn = "\r\n";



function search_in_array(v, str) {
    for(var i=0; i<v.length; i++) {
        if (unescape(v[i]) == str)
            return true;
    }
    
    return false;
}

function need_to_check(v, id) {
    for(var i=0; i<v.length; i++) {
        temp = v[i].split(client_image_value_id_separator);
        actid = temp.pop();
        if (unescape(actid) == id)
            return true;
    }
    
    return false;
}


/**********************************************************************
    Segédfüggvények az ellenőrzésehez
***********************************************************************/
function isValidPositive(number) {
    re = new RegExp("^[1-9]+[0-9]*$");
    return re.test(number);
}

function isValidEmail(emailaddress) {
    re = new RegExp("^[A-Za-z0-9][-_A-Za-z0-9.]*@[-._A-Za-z0-9]*$");
    return re.test(emailaddress);  
}

function isValidPhone(phone) {
    re = new RegExp("^[-0-9()/]+$");
    return re.test(phone);
}

/********************************************************************
    COOKIE kezelés
*********************************************************************/
function createCookie(name,value, time) {
	if (time) {
		var date = new Date();
		date.setTime(date.getTime()+(time));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	var ck = name+"="+escape(value)+expires;
	document.cookie = ck;
}

function getCookie(name) {
	var nameEQ = escape(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 unescape(c.substring(nameEQ.length,c.length));
        }
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1000);
}

function setCookie(name, value) {
    curCookie = name + "=" + escape(value);
    document.cookie = curCookie;    
}



function emptyCookie(name) {
    setCookie(name,"");
}

function addCookie(name, value) {
    var curr_cookie = getCookie(name);
    if (!curr_cookie) {
        curr_cookie = "";
    }
    var new_cookie = curr_cookie + value;
      
    setCookie(name,new_cookie);
}



function reload() {
    window.location.reload( true );
}




/***************************************************************************
    Ezt a függvényt kell hozzárendelni annak a vezérlőnek az onclick eseményéhez,
    amelyikkel egy tételt _hozzá akarunk adni_ az ajánlatkéréshez
****************************************************************************/
function addItem(value) {
    addCookie(client_cookie_name,value+client_cookie_separator);
}


/***************************************************************************
    Ezt a függvényt kell hozzárendelni annak a vezérlőnek az onclick eseményéhez,
    amelyikkel egy tételt _ki akarunk szedni_ az ajánlatkérésből
****************************************************************************/
function deleteItem(value) {
    var c = getCookie(client_cookie_name);

 
    var s = c.indexOf(value);   //innentől kell kivágni
    var e = s + value.length;
    
    
    var before = c.substring(0,s);
    var after  = c.substring(e+1);
    
    
    setCookie(client_cookie_name,before+after); 
}

function deleteAll() {
    emptyCookie(client_cookie_name);
}


/******************************************************************************
    Kimondottan checkbox-okhoz írt eseménykezelő
******************************************************************************/
function checkboxClick(id) {
    
    if (!document.getElementById(id) || document.getElementById(id).type != "checkbox" )
        return;   
    if (document.getElementById(id).checked == false) {
        deleteItem(document.getElementById(id).value);
    }
    else {
        addItem(document.getElementById(id).value);
    }
}


function setCheckboxes(form_name) {

    var c = getCookie(client_cookie_name);
    if (c==null || c=="")
        var ca = new Array();
    else
        var ca = c.split(client_cookie_separator);


    for(i=0; i<document.forms[form_name].length; i++) {
        if ( (document.forms[form_name])[i].type == "checkbox" ) {
            var l = search_in_array(ca, (document.forms[form_name])[i].value);
            if (l == true)
                (document.forms[form_name])[i].checked = true;
            else
                (document.forms[form_name])[i].checked = false;
        }
    }
}

/*********************************************************************************
    Kimondottan checkboxként használt képhez írt eseménykezelő
*********************************************************************************/
function imageClick(id, value) {
    if (document.getElementById(id).src == client_images['on'].src) {
        document.getElementById(id).src = client_images['off'].src;
        deleteItem(value+client_image_value_id_separator+id);
    }
    else {
        document.getElementById(id).src = client_images['on'].src;
        addItem(value+client_image_value_id_separator+id);
    }
}

function setImages() {

    var c = getCookie(client_cookie_name);
    if (c==null || c=="")
        var ca = new Array();
    else
        var ca = c.split(client_cookie_separator);

    for(i=0; i<document.images.length; i++) {
        if ( (document.images)[i].className == "chkbox_image") {   
            var l = need_to_check(ca, (document.images)[i].id);
            if (l == true)
                (document.images)[i].src = client_images['on'].src;
            else
                (document.images)[i].src = client_images['off'].src;
        }
    }
}

/***********************************************************************************
    A bejelölt tételek alapján összeállítja a html oldalt
**********************************************************************************/
function pageBuilder() {

        document.write('<tr>');
        document.write("<td class='table_title' width=210>Megnevezés</td>");
        document.write("<td class='table_title'>Írja be a kért mennyiséget, megjegyzését</td>");
        document.write('</tr><tr>');

    var c  = getCookie(client_cookie_name);
    if (c==null || c=="")  {
        var ca = new Array();
        document.write('<td colspan=2><p class="normal_text">Nincs kiválasztott termék vagy szolgáltatás</p></td></tr><tr>');
    }
    else
        var ca = c.split(client_cookie_separator);
        
    for(i=0; i<ca.length-1; i++) {
        document.write('<tr>');
        
        index = ca[i].indexOf('()');
        index2 = ca[i].lastIndexOf(client_image_value_id_separator);
        
        //kiteszünk elé egy checkboxot
        prefix = "<input type='checkbox' value='' class='input' checked='checked' onclick=\"deleteItem('"+ca[i]+"'); reload(); \" />";
        
        if (index2 > 0) {
            ca[i] = ca[i].substring(0,index2);
        }

        if ( index < 0) {
            //nem kell input mező a mennyiségnek
            document.write("<td colspan='2' class='ecat_list'>"+prefix+ca[i]+"</td>");
        }
        else {
            //meg kell adnia a mennyiséget
            temp = ca[i].substring(0,index);
            document.write("<td class='ecat_list'>"+prefix+temp+"</td>");
            document.write("<td class='ecat_list'><input class='input' type='text' size='40' maxlength='40' id='offer_item_"+temp+"' /></td>");
            
        }
        document.write('</tr>'); 
    }
}

function collectOfferItems() {
    
    //** Ajánlatok összegyűjtése **
    var c  = getCookie(client_cookie_name);
    if (c==null || c=="")
        var ca = new Array();
    else
        var ca = c.split(client_cookie_separator);
    
    client_offer = "";   
    // a split miatt van egy extra "üres" elem a vektor végén
    for(i=0; i<ca.length-1; i++) {
        index = ca[i].indexOf('()');
        index2 = ca[i].lastIndexOf(client_image_value_id_separator);
        if (index2 > 0) {
            ca[i] = ca[i].substring(0,index2);
        }
        
        if ( index < 0) {
            //nem kell input mező a mennyiségnek
            client_offer = client_offer + ca[i] + addreturn;
            
        }
        else {
            temp = ca[i].substring(0,index);
            temp = temp + " (" + document.getElementById("offer_item_"+temp).value + ")";
            client_offer = client_offer + temp + addreturn;          
        }
    } 
    document.getElementById('offer').value = client_offer;
    
    //** Érdeklődések összegyűjtése **
      var n=document.all.length;
      var i;
      var service="";
      for(i=0; i<n; i++) {
        if ( (document.all[i]).type == 'checkbox' && (document.all[i]).id.indexOf('service') == 0 && (document.all[i]).checked==true ) {
            service = service + (document.all[i]).value + addreturn;
        }
    }
    document.getElementById('service').value = service;
    return true;
}


/************************************************************************************************************
    Az ajánlatkérő űrlap ellenőrzése - igény szerint módosítható
************************************************************************************************************/
function checkOfferForm() {
    if (document.getElementById('offer_name').value == "" ) {
        document.getElementById('offer_name').className = 'error_input';
        document.getElementById('offer_name').focus();
        return false;
    }
    document.getElementById('offer_name').className = 'input';
    
    if (document.getElementById('offer_email').value == "" || !isValidEmail(document.getElementById('offer_email').value)) {
        document.getElementById('offer_email').className = 'error_input';
        document.getElementById('offer_email').focus();
        return false;
    }
    document.getElementById('offer_email').className = 'input';
    
    if (document.getElementById('offer_phone').value != "" && !isValidPhone(document.getElementById('offer_phone').value)) {
        document.getElementById('offer_phone').className = 'error_input';
        document.getElementById('offer_phone').focus();
        return false;
    }
    document.getElementById('offer_phone').className = 'input';
    
    return true;
}


function submitOfferForm() {
//    if (!checkOfferForm()) 
//        return false;   
    collectOfferItems();
    
    return true;
    
}