var $j = jQuery.noConflict();
$j(document).ready(function(){

	/*if($j.cookie('popup_cookie') == null) {
		$j('a#infopopup').click();
		$j.cookie("popup_cookie", 1, {path: '/'});
	} */
	$j('#megrendel_btn').click(function() {
		var o = $j('#search_list').find('input[type=checkbox]:checked');
		if(o.length == 0)
			return false;
		
		window.location.href = "/megrendeles/"+o.attr('name'); 
	})
	$j('#search_list').find('input[type=checkbox]').click(function() {
		if($j('#search_list').find('input[type=checkbox]:checked').length > 1) {
			alert("Ön több típusú (márka, mintázat)gumit pipált ki! Egy megrendelésben kizárólag egy típusú (cikkszámú) gumi rendelhető, több rendelés esetén kérjük külön adja le  megrendelését vagy lépjen kapcsolatba velünk. Tel.: 06-30 / 730 - 20 - 10 gumieladas@gumieladas.hu");
			return false;
		}
	});
	
	$j('a.partner_item_title').live('click', function() { 
		if($j(this).next().html() == "")
			return false;
		$j(this).next('div:visible').slideUp(300);
		$j(this).next('div:hidden').slideDown(300);	
	});
	
   	$j('#termekdb').keyup(function(){
   		calcPrice();
		calcSuly();
	});
	$j('#termekdb').prev().click(function(){
		if($j(this).next().val() >= 2)
			$j(this).next().val(parseInt($j(this).next().val())-1);
		calcPrice();
		calcSuly();
	});
	$j('#termekdb').next().click(function(){
		$j(this).prev().val(parseInt($j(this).prev().val())+1);
		calcPrice();
		calcSuly();
	});
	
	if($j('select[name=partner]').length != 0) {
		$j('select[name=partner]').change(function() {
			$j('input[name=szerelesar]').val(0);
			$j('#szerelesar').text(0);
			if($j(this).val() == 0) {
				$j('select[name=szereles]').find('option[value=0]').text('Válasszon partnert!')
				$j('select[name=szereles]').find('option[value!=0]').remove();
				$j('.tarolasar').text(0);
				return true;
			}
			$j('.tarolasar').text(number_format(parseInt(partners[$j('select[name=partner]').val()-1][5]), 0, '.', '.'));
		   	//console.log(partners[$j(this).val()-1])
			$j('select[name=szereles]').find('option[value=0]').text('Kérem válasszon!')
			$j('select[name=szereles]').find('option[value!=0]').remove();
			$j('<option value="1">Acélfelni ('+partners[$j(this).val()-1][1]+' Ft/db)</option>').appendTo('select[name=szereles]');
			$j('<option value="2">Alufelni ('+partners[$j(this).val()-1][2]+' Ft/db)</option>').appendTo('select[name=szereles]');
			$j('<option value="3">Kisteher ('+partners[$j(this).val()-1][3]+' Ft/db)</option>').appendTo('select[name=szereles]');
			if(parseInt($j('input[name=rmeret]').val()) >= 18)
				$j('<option value="4">18 átmérő feletti gumi ('+partners[$j(this).val()-1][4]+' Ft/db)</option>').appendTo('select[name=szereles]');
		});	
		
		_priced = 0;
		$j('select[name=szereles], select[name=szerelesdb]').change(function() { 
			if($j('select[name=szereles]').val() == 0)
		   		var priced = 0;
			else		
				var priced = $j('select[name=szereles]').find('option[value='+$j('select[name=szereles]').val()+']').text().split('\(')[1].split(' ')[0];
           	$j('input[name=szerelesar]').val(priced*parseInt($j('select[name=szerelesdb]').val()));
			$j('#szerelesar').text(priced*parseInt($j('select[name=szerelesdb]').val()));
		});
	}
	
	setInterval(function() {
		var total = 0;
		$j('.pricediv_item input.price').each(function() {
		   	if($j(this).val() == 0)
				$j(this).parents('.pricediv_item').hide();
			else {
				$j(this).parents('.pricediv_item').show();	
				$j(this).parents('.pricediv_item').find('span').html(number_format($j(this).val(), 0, '.', '.'));
			}
			total = total+parseInt($j(this).val());
		});
		$j('input[name=totalprice]').val(total);
		$j('#totalprice').text(number_format(total, 0, '.', '.'));
		calcShipping();
	}, 50);
	
	calcPrice();
	calcSuly();
	
	$j('input[name=atvetel]').click(function() {
		$j('div[id*=szallitasdiv_]').hide();
		if($j(this).val() == 2 || $j(this).val() == 3) {
			$j('#szallitasdiv_2').show();
			if($j(this).val() == 3) {
			 	$j('select[name=partner]').val(1).change().attr('disabled', true);	
			}
			else {
			 	$j('select[name=partner]').val(0).change().attr('disabled', false);	
			}	
		}
		else {
		  	$j('#szallitasdiv_1').show();
			$j('select[name=partner]').val(0).change();	
		}
		
	});
	
	$j('#szallitasdiv_2 input[name=submit]').click(function() {
		if($j('select[name=partner]').val() == 0 || $j('select[name=szereles]').val() == 0) {
			if($j('select[name=partner]').attr('disabled') == true)
				alert('Kérem válasszon válassza ki milyen szerelést kíván igénybe venni!');
			else
				alert('Kérem válasszon partnereink közül, majd válassza ki milyen szerelést kíván igénybe venni!');
			return false;
		}
	})
	
	if($j('input[name=atvetel]').length != 0) {
		$j('input[name=atvetel][value='+$j('input[name=szallitasid]').val()+']').click();
		$j('select[name=partner]').val($j('input[name=szallitasid]').val()).change();
		$j('select[name=szereles]').val($j('input[name=szerelesid]').val()).change();
		$j('select[name=szerelesdb]').val($j('input[name=szerelesdbid]').val()).change();
		$j('input[name=tarolas][value='+$j('input[name=tarolastker]').val()+']').click();
	}
	
	if($j('input[name=fizetesid]').length != 0) {
	  	$j('input[name=fizetes][value='+$j('input[name=fizetesid]').val()+']').click();	
	}
	
	$j('input[name=tarolas]').change(function() {
		//alert($j(this).val())
	});
	
	$j('input[name=szaml_megegyezik1]').click(function() { 
		$j('input[name=szaml_megegyezik2]').attr('checked', false);
		$j('input[name^=szall_]').unbind('keyup.event1');	
		$j('input[name^=vevo_]').unbind('keyup.event1');
	   	if($j(this).attr('checked') == true) {
	   		$j('input[name^=vevo_]').each(function() {
	   			$j(this).unbind('keyup.event1').bind('keyup.event1', function() {
	   			 	var pref = $j(this).attr('name').split('_')[1];
					$j('input[name=szaml_'+pref+']').val($j(this).val());	
	   			}).keyup();
	   		});
		}
		else {
		 	$j('input[name^=vevo_]').unbind('keyup.event1');
			$j('input[name^=szall_]').unbind('keyup.event1');	
			$j('input[name^=szaml_]').val("");
		}
	}); 

	$j('input[name=szaml_megegyezik2]').click(function() { 
		$j('input[name=szaml_megegyezik1]').attr('checked', false);
		$j('input[name^=szall_]').unbind('keyup.event1');	
		$j('input[name^=vevo_]').unbind('keyup.event1');
	   	if($j(this).attr('checked') == true) {
	   		$j('input[name^=szall_]').each(function() {
	   			$j(this).unbind('keyup.event1').bind('keyup.event1', function() {
	   			 	var pref = $j(this).attr('name').split('_')[1];
					$j('input[name=szaml_'+pref+']').val($j(this).val());	
	   			}).keyup();
	   		});
		}
		else {
		 	$j('input[name^=szall_]').unbind('keyup.event1');	
			$j('input[name^=vevo_]').unbind('keyup.event1');
			$j('input[name^=szaml_]').val("");
		}
	});
	
	$j('input[name=szall_megegyezik]').click(function() { 
		$j('input[name^=vevo_]').unbind('keyup.event2');
	   	if($j(this).attr('checked') == true) {
	   		$j('input[name^=vevo_]').each(function() {
	   			$j(this).unbind('keyup.event2').bind('keyup.event2', function() {
	   			 	var pref = $j(this).attr('name').split('_')[1];
					$j('input[name=szall_'+pref+']').val($j(this).val()).keyup();	
	   			}).keyup();
	   		});
		}
		else {
			$j('input[name^=vevo_]').unbind('keyup.event2');
			$j('input[name^=szall_]').val("");
		}
	});
	
	if($j('input[name=afatker]').length != 0) {
	  	if($j('input[name=afatker]').val() == 1)
			$j('input[name=afa][value=1]').click();	
		if($j('input[name=megegyezik1]').val() == 1)
			$j('input[name=szall_megegyezik]').attr('checked', true);
		if($j('input[name=megegyezik2]').val() == 1)
			$j('input[name=szaml_megegyezik1]').attr('checked', true); 
		if($j('input[name=megegyezik3]').val() == 1)
			$j('input[name=szaml_megegyezik2]').attr('checked', true);
		if($j('input[name=hirlevelid]').val() == 0 && $j('input[name=hirlevelid]').val() != "")
			$j('input[name=hirlevel][value=0]').click(); 
	}
	
	jQuery.validator.addMethod("billingRequired", function(value, element) { 
		if ($j("input[name=afa]:checked").val() == 0)
			return $j(element).parents("table").length;
		return !this.optional(element);
	}, "");
	
	$j("input[name=totalprice]").parents('form').validate({
		rules: {
			mennyiseg: "required"
		},
		messages: {
			mennyiseg: {
				required: ""
			}
		},
		invalidHandler: function(e, validator) {
			alert("Kérem töltse ki helyesen a pirossal jelzett mezőket!");
		}
	});
	
	$j("form#ajanlatform").validate({
		invalidHandler: function(e, validator) {
			alert("Kérem töltse ki helyesen a pirossal jelzett mezőket!");
		}
	});
	
	$j('input[name*=_irsz]').keyup(function() {
	 	getCity($j(this));	
	})

	
});

function getCity(o) {
	var zip = o.val();
	if(zip.length != 4) {
		return false;
	}
	if(!checkpostal(zip)) {
		return false;
	}
	var cityinput = $j('input[name='+o.attr('name').split('_')[0]+'_varos]'); 
	if(zip < 2000) {
	  	cityinput.val('Budapest');
		return true;	
	}
	$j.ajax({
      url: '/zip_ajax',
      type: 'post',
      data: {"zip": zip},
      dataType: 'html',
      beforeSend: function(x) {
          if (x && x.overrideMimeType) {
              x.overrideMimeType('text/html; charset=iso-8859-2');
          }
      },
      success: function(data){
       	cityinput.val(data).keyup();
      }
    });
}

function calcShipping() {
	if($j('input[name=szall_irsz]').length == 0)
		return false; 
	if($j('input[name=szall_irsz]').val().substring(0,1) == 1) {
		var price = 2000;
	}
	else if($j('input[name=szall_irsz]').val() == "") {
	 	var price = 0;		
	}
	else {
	  	if($j('input[name=suly]').val() <= 20)
			var price = 3240;
	  	if($j('input[name=suly]').val() > 20 && $j('input[name=suly]').val() <= 50)
			var price = 4320;
		if($j('input[name=suly]').val() > 50)
			var price = 4800;	
	}
	$j('input[name=szallitasar]').val(price);
	$j('#szallitasar').text(number_format(price, 0, '.', '.'));
}

function calcTarolas() {
	if($j('select[name=partner]').val() == 0 || $j('input[name=tarolas][value=0]').attr('checked') == true)
		var tarolasar = 0;
	else
		var tarolasar = parseInt(partners[$j('select[name=partner]').val()-1][5])*parseInt($j('#termekdb').val());
	$j('input[name=tarolasar]').val(tarolasar);
	$j('#tarolasar').text(tarolasar);
}

function calcPrice() {
	var newprice = parseInt($j('input[name=termekar]').val())*$j('#termekdb').val();
	$j('input[name=gumiar]').val(newprice);
	$j('input[name=gumiar]').val(newprice);	
	$j('#gumiar').text(newprice);
}

function calcSuly() {
	var newsuly = parseInt($j('#termekdb').val())*$j('input[name=termeksuly]').val();
 	$j('#suly').text(newsuly);
	$j('input[name=suly]').val(newsuly);		
}

function do_submit(form_id)
{
  document.getElementById(form_id).submit();
  return false;
}

function set_external_links()
{
  if (!document.getElementsByTagName) {
    return;
  }
  var anchors = document.getElementsByTagName('a');
  for (var i = 0; i < anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute('href') && anchor.getAttribute('rel') == 'external') {
     anchor.target = "_blank";
   }
  }
}

window.onload = set_external_links;

///////////////////////////////////////////////////////////

function navigate(box_id) {
    if (box_id) {
        box_id_global = box_id;
		var url = 'navigation_box.php?box_id=' + box_id;
        if(window.XMLHttpRequest) {
                req = new XMLHttpRequest();
        } else if(window.ActiveXObject) {
                req = new ActiveXObject("Microsoft.XMLHTTP");
        }
        req.open("GET", url, true);
        req.onreadystatechange = callback;
        req.send(null);
    }
}

function callback() {
        if(req.readyState == 4) {
                if(req.status == 200) {
                        response = req.responseText;
                        document.getElementById('navigation_box').innerHTML = response;
                } else {
                        alert("There was a problem retrieving the data:\n" + req.statusText);
                }
        }
}

////////////////////////////////////////////////////////



jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};

function number_format(number, decimals, dec_point, thousands_sep) {
    number = (number+'').replace(',', '').replace(' ', '');
    var n = !isFinite(+number) ? 0 : +number, 
        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
        sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
        dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
        s = '',
        toFixedFix = function (n, prec) {
            var k = Math.pow(10, prec);
            return '' + Math.round(n * k) / k;
        };
    // Fix for IE parseFloat(0.55).toFixed(0) = 0;
    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
    if (s[0].length > 3) {
        s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
    }
    if ((s[1] || '').length < prec) {
        s[1] = s[1] || '';
        s[1] += new Array(prec - s[1].length + 1).join('0');
    }
    return s.join(dec);
}

function checkpostal(str){
	var re4digit=/^\d{4}$/;
	if (str.search(re4digit)==-1) {
		return false;
	}
	else {
		return true;
	}
}

    // Create a jquery plugin that prints the given element.
    jQuery.fn.print = function(){
    // NOTE: We are trimming the jQuery collection down to the
    // first element in the collection.
    if (this.size() > 1){
    this.eq( 0 ).print();
    return;
    } else if (!this.size()){
    return;
    }
     
    // ASSERT: At this point, we know that the current jQuery
    // collection (as defined by THIS), contains only one
    // printable element.
     
    // Create a random name for the print frame.
    var strFrameName = ("printer-" + (new Date()).getTime());
     
    // Create an iFrame with the new name.
    var jFrame = $j( "<iframe name='" + strFrameName + "'>" );
     
    // Hide the frame (sort of) and attach to the body.
    jFrame
    .css( "width", "1px" )
    .css( "height", "1px" )
    .css( "position", "absolute" )
    .css( "left", "-9999px" )
    .appendTo( $j( "body:first" ) )
    ;
     
    // Get a FRAMES reference to the new frame.
    var objFrame = window.frames[ strFrameName ];
     
    // Get a reference to the DOM in the new frame.
    var objDoc = objFrame.document;
     
    // Grab all the style tags and copy to the new
    // document so that we capture look and feel of
    // the current document.
     
    // Create a temp document DIV to hold the style tags.
    // This is the only way I could find to get the style
    // tags into IE.
    var jStyleDiv = $j( "<div>" ).append(
    $j( "style" ).clone()
    );
     
    // Write the HTML for the document. In this, we will
    // write out the HTML of the current element.
    objDoc.open();
    objDoc.write( "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">" );
    objDoc.write( "<html>" );
    objDoc.write( "<body>" );
    objDoc.write( "<head>" );
    objDoc.write( "<title>" );
    objDoc.write( document.title );
    objDoc.write( "</title>" );
    objDoc.write( jStyleDiv.html() );
    objDoc.write( "</head>" );
    objDoc.write( this.html() );
    objDoc.write( "</body>" );
    objDoc.write( "</html>" );
    objDoc.close();
     
    // Print the document.
    objFrame.focus();
    objFrame.print();
     
    // Have the frame remove itself in about a minute so that
    // we don't build up too many of these frames.
    setTimeout(
    function(){
    jFrame.remove();
    },
    (60 * 1000)
    );
    }
