/* LOGIN FROM VALIDATION */
function validateLoginForm(email, pass){
	if(isBlank(email.value) || !isEmailValid(email.value)){
		alert(INCORRECT_EMAIL_MESSAGE);
		return false;
	}else if(isBlank(pass.value) || pass.value.length < 6 || pass.value.length > 20){
		alert(INCORRECT_PASSWORD_MESSAGE);
		return false;
	}else{
		return true;
	}
}

/* SHOW HIDE KITCHEN MENU */
$(document).ready(function() {
	// show kitchen submenu
	/*$(".k_link").click(function() {
		var myClass = $(this).attr("class");
		if(myClass.search("selected") == -1){
			var subClass = myClass.replace(' k_link', '') + '0';
			$(this).addClass("selected");
			$('.' + subClass).each(function() {
				$(this).show('slow');
			});
		}else{
			$(this).removeClass("selected");
			myClass = $(this).attr("class");
			var subClass = myClass.replace(' k_link', '') + '0';
			$('.' + subClass).each(function() {
				$(this).hide('slow');
			});
		}
	});*/
	//show items
	$(".subitem_link").click(function() {
		var id = $(this).attr("id");
		if($('#subitem_form_' + id).css('display') == 'none'){
			$(this).removeClass("show");
			$(this).addClass("hide");
			$('#subitem_form_' + id).show('slow')
		}else{
			$(this).removeClass("hide");
			$(this).addClass("show");
			$('#subitem_form_' + id).hide('slow')
		}
	});
	
	$("#add-button-all").click(function() {
		$('.jcart').each(function() {
			$(this).trigger("submit");
		});
		return false;
	});
	
	
	//show kitchen content
	$(".kitchen_content_link").click(function() {
		if($('#kitchen_content').css('display') == 'none'){
			$(this).removeClass("show_c");
			$(this).addClass("hide_c");
			$('#kitchen_content').show('slow')
		}else{
			$(this).removeClass("hide_c");
			$(this).addClass("show_c");
			$('#kitchen_content').hide('slow')
		}
	});
});


/* SEARCH FROM VALIDATION */
function validateSearchForm(term){
	if(isBlank(term.value) || term.value.length < 3){
		alert(INCORRECT_TERM_MESSAGE);
		return false;
	}else{
		return true;
	}
}
/* SYNCHRONIZATION CITY BOX AND ZIP BOX */
function setZipOptions(index, field) {
	field.selectedIndex = index
}

function noaction(){
	return;
}

function noaction2(){
	return false;
}

/* FILE VERIFICATION */
var allowedExt = new Array('jpg');
function isValidExt(field) {
	var filename = field.value;

	if(filename.length > 0){
		var ext = filename.substr(filename.lastIndexOf('.') + 1).toLowerCase();
		for (var i = 0; i < allowedExt.length; i++) {
			if (allowedExt[i] == ext) {
				return true;
			}
		}
	}

	alert("Pogresan format slike! Dozvoljen je samo .jpg format!");
	return false;
}

/* EMAIL VERIFICATION */
function checkEmail(form){
	if (isBlank(form.email.value) || !isEmailValid(form.email.value) ) {
		alert("Please enter a valid Email Address.\nThe email you have typed in does not appear to be valid.");
		form.email.focus();
		return false;
	}
	return true;
}

function isBlank(fieldValue){
	var blankSpaces = / /g;
	fieldValue = fieldValue.replace(blankSpaces, "");
	return (fieldValue == "") ? true : false;
}

function isEmailValid(fieldValue){
	var emailFilter = /^.+@.+\..{2,4}$/;
	var atSignFound = 0;
	for (var i = 0; i <= fieldValue.length; i++)
		if ( fieldValue.charAt(i) == "@" )
			atSignFound++;
	if ( atSignFound > 1 )
		return false;
	else
		return ( emailFilter.test(fieldValue) && !doesEmailHaveInvalidChar(fieldValue) ) ? true : false;
}

function doesEmailHaveInvalidChar(fieldValue){
	var illegalChars = /[\(\)\<\>\,\;\:\\\/\"\[\] ]/;
	return ( illegalChars.test(fieldValue) ) ? true : false;
}

/* ADD TO FAVORITES */
function addToFavourites(id){
	var obj = document.getElementById('product_image_' + id);
	if(obj.src.search("on.gif")) 
		obj.src = "public/images/favourite.gif";
	else
		obj.src = "public/images/favourite_on.gif";
}

/* SHOW HIDE ORDER DETALIS */
function showHideDetalis(id){
	var objImg = document.getElementById('navimg_' + id);
	if($('#data_' + id).css('display') == 'none'){
		$('#data_' + id).show('slow');
		$('#order_' + id).show('slow');
		objImg.src = "public/images/nav-up.png";
	}else{
		$('#data_' + id).hide('slow');
		$('#order_' + id).hide('slow');
		objImg.src = "public/images/nav-down.png";
	}
}
/**************** AJAX FUNCTIONS ******************/

/* ADD TO FAVORITES */
function addToFavourites(id){
	$.post("/products/addToFavourites", { id:id},
	function(data){
		var obj = document.getElementById('product_image_' + id);
		var object = document.getElementById('favourite_image');
		if(data.returnFromValue == "off_off"){
			obj.src = "public/images/favourite.png";
			object.src = "public/images/favourite_small.png";
		}else if(data.returnFromValue == "on_on"){
			obj.src = "public/images/favourite_on.png";
			object.src = "public/images/favourite_small_on.png";
		}else if(data.returnFromValue == "no_on"){
			obj.src = "public/images/favourite_on.png";
		}else if(data.returnFromValue == "no_off"){
			obj.src = "public/images/favourite.png";
		}
		$('#favourite_count').html(data.favourite_count);
	}, "json");	
}

/* SHOW ADDRESS FORM */
function showAddressForm(id){
	$.post("/order/showAddressForm", { id:id},
	function(data){
		var radioObj = document.getElementById('delivery_address_'+id);
		if(radioObj.checked == false) radioObj.checked = true;
	
		var formHtml = '';
		formHtml += '<p>' + REQUIRED_FIELDS + '</p>';
		formHtml += '<input type="hidden" name="delivery_address_id" value="' + id + '" />';
		formHtml += '<input type="hidden" name="new_address" value="1" />';
		formHtml += '<label><span style="color: red;">*</span>' + FIRST_NAME + ':</label><input type="text" name="_first_name" id="_first_name" value="' + ((data.returnFromValue['FIRST_NAME'] && id>0)?data.returnFromValue['FIRST_NAME']:"") +'" class="input {validate:{required:true}}" /><br />';
		formHtml += '<label><span style="color: red;">*</span>' + LAST_NAME + ':</label><input type="text" name="_last_name" id="_last_name" value="' + ((data.returnFromValue['LAST_NAME'] && id>0)?data.returnFromValue['LAST_NAME']:"") +'" class="input {validate:{required:true}}" /><br />';
		formHtml += '<label><span style="color: red;">*</span>' + STREET + '|' + STREET_NUMBER + ':</label><input type="text" name="_street" id="_street" value="' + ((data.returnFromValue['STREET'] && id>0)?data.returnFromValue['STREET']:"") +'" style="width: 167px" class="input {validate:{required:true}}" /><input type="text" name="_number" id="_number" value="' + ((data.returnFromValue['S_NUMBER'] && id>0)?data.returnFromValue['S_NUMBER']:"") +'" style="margin-left: 10px; width: 40px" class="input {validate:{required:true}}" /><br />';
		formHtml += '<label>' + ENTRANCE + '|' + APPARTEMENT + '|' + FLOOR + ':</label><input type="text" name="_entrance" value="' + ((data.returnFromValue['ENTRANCE'] && id>0)?data.returnFromValue['ENTRANCE']:"") +'" style="width: 65px;" class="input" /><input type="text" name="_appartement" value="' + ((data.returnFromValue['APPARTMENT'] && id>0)?data.returnFromValue['APPARTMENT']:"") +'" style="margin-left: 10px; width: 65px;" class="input" /><input type="text" name="_floor" value="' + ((data.returnFromValue['FLOOR'] && id>0)?data.returnFromValue['FLOOR']:"") +'" style="margin-left: 10px; width: 65px;" class="input" /><br />';
		formHtml += '<label><span style="color: red;">*</span>' + CITY + ':</label>';
		formHtml += '<select name="_city" style="width:145px;" onChange="setZipOptions(this.selectedIndex, this.form._postal_code);" class="select">';
		formHtml += '<option value="Beograd" ' + ((id>0 && data.returnFromValue['CITY'] == 'Beograd')?"selected":"") + '>Beograd</option>';
		formHtml += '<option value="Beograd - Zemun" ' + ((id>0 && data.returnFromValue['CITY'] == 'Beograd - Zemun')?"selected":"") + '>Beograd - Zemun</option>';
		formHtml += '<option value="Novi Sad" ' + ((id>0 && data.returnFromValue['CITY'] == 'Novi Sad')?"selected":"") + '>Novi Sad</option>';
		formHtml += '<option value="Nis" ' + ((id>0 && data.returnFromValue['CITY'] == 'Nis')?"selected":"") + '>Niš</option>';
		formHtml += '</select>';
		formHtml += '<select name="_postal_code"  style="margin-left: 10px; width: 65px;" onChange="setZipOptions(this.selectedIndex, this.form._city);" class="select">';
		formHtml += '<option value="11000" ' + ((id>0 && data.returnFromValue['POSTAL_CODE'] == '11000')?"selected":"") + '>11000</option>';
		formHtml += '<option value="11080" ' + ((id>0 && data.returnFromValue['POSTAL_CODE'] == '11080')?"selected":"") + '>11080</option>';
		formHtml += '<option value="21000" ' + ((id>0 && data.returnFromValue['POSTAL_CODE'] == '21000')?"selected":"") + '>21000</option>';
		formHtml += '<option value="18000" ' + ((id>0 && data.returnFromValue['POSTAL_CODE'] == '18000')?"selected":"") + '>18000</option>';
		formHtml += '</select><br />';
		formHtml += '<label><span style="color: red;">*</span>' + CONTACT_PHONE + ':</label><input type="text" name="_phone" id="_phone" value="' + ((data.returnFromValue['LAND_LINE'] && id>0)?data.returnFromValue['LAND_LINE']:"") +'" class="input {validate:{required:true}}" /><br />';
		formHtml += '<label>' + CELL_PHONE + ':</label><input type="text" name="_cell_phone" value="' + ((data.returnFromValue['CELL_PHONE'] && id>0)?data.returnFromValue['CELL_PHONE']:"") +'" class="input" /><br  />';
		$('#new_address_form').html(formHtml);
	}, "json");	
}


//hideAddressForm
function hideAddressForm(){
	$('#new_address_form').html("");
	$('.container').hide();
}

//showImagePopup
//center popup
/*jQuery.fn.center = function () {
    this.css("position","absolute");
    this.css("top", ( $(window).height() - this.height() ) / 3+$(window).scrollTop() + "px");
    this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
    return this;
}*/


/* SHOW HIDE POPUP */
//showPopup
/*function showImgPopup(id) {
	var measurement_rate = $('#item-measurement-rate-'+id).val();
	var image = $('#item-image-'+id).val();
	var name = $('#item-name-'+id).val();
	var price_value = $('#item-price-'+id).val();
	var content = "";
	content += "<table cellpadding='0' cellspacing='0' border='0' width='300' class='imgPopup'>";
	content += "<tr>";
	content += "<td align='right'><a href='javascript:hideImgPopup();'>" + CLOSE + "</td>";
	content += "</tr>";
	content += "<tr>";
	content += "<td align='left'><img src='/public/images/maxi-online-logo.png' alt='maxi online' border='0' /></td>";
	content += "</tr>";
	content += "<tr>";
	content += "<td align='left'><img src='" + image + "' alt='" + name + "' border='0' /></td>";
	content += "</tr>";
	content += "<tr>";
	content += "<td align='left'>";
	content += "<span class='product_name'>" + name + "</span><br />";
	content += "<span class='product_price'>" + price_value + " " + C_SYMBOL + " / " + measurement_rate + "</span>";
	content += "</td>";
	content += "</tr>";
	content += "<tr>";
	content += "<td align='left'>" + MIN_CART_VALUE + "</td>";
	content += "</tr>";
	content += "</table>";

    var bh = $("#black").height();
    var bw = $("#black").width();
    var h = $(window).height();
    var w = $(window).width();
    if(h > bh) $("#black").height(h);
    if(w > bw) $("#black").width(w);

	$("#black").css({ 'visibility': 'visible' });
	$("#black").css({ opacity: 0.6 });
	$("#popupwnd").html(content);
	$("#popupwnd").css({ 'visibility': 'visible' });
	$("#popupwnd").center();
}

//hidePopup
function hideImgPopup(){
	$('#popupwnd').html("");
	$('#popupwnd').css({ 'visibility': 'hidden' });
	$('#black').css({ 'visibility': 'hidden' });
	$('#black').css('left', 0);
	$('#black').css('top', 0);
}*/

//showPopup
function showAlertPopup() {
	$.post("/order/showAlertPopup", {},
	function(data){
		if(data.session == 0){
			var content = "";
			content += "<table cellpadding='0' cellspacing='0' border='0' width='350' class='imgPopup'>";
			content += "<tr>";
			content += "<td align='left'><div style='max-width: 300px;'>";
			content += "<p>Poštovani potrošači,<br />";     
			content += "Maxi Online u pojedinim delovima Beograda neće dostaviti primljene porudžbine u periodu vremenskih nepogoda i obilnih snežnih padavina.<br />";
			content += "Poručena roba će biti dostavljena, čim se situacija u saobraćaju stabilizuje.<br />";
			content += "Takođe, moguće je napraviti nove porudžbine, ali Vas molimo da uzmete u obzir mogućnost odlaganja dostave.<br /><br />";
			content += "Vaš Maxi</p>";
			content += "</div></td>";
			content += "</tr>";
			content += "</table>";

			var options;
			var localOptions;
			localOptions = jQuery.extend({title: "MAXI ONLINE", show: true, closeable: true, modal: true}, options);
			localOptions.unloadOnHide = false;
			new Boxy(content, localOptions);
		}
	}, "json");
}

//showPopup
function showImgPopup(id) {
	var measurement_rate = $('#item-measurement-rate-'+id).val();
	var image = $('#item-image-'+id).val();
	var name = $('#item-name-'+id).val();
	var price_value = $('#item-price-'+id).val();
	var content = "";
	content += "<table cellpadding='0' cellspacing='0' border='0' width='350' class='imgPopup'>";
	content += "<tr>";
	content += "<td align='left'><img src='/public/images/maxi-online-logo.png' alt='maxi online' border='0' /></td>";
	content += "</tr>";
	content += "<tr>";
	content += "<td align='center' class='main_img'><img src='" + image + "' alt='" + name + "' border='0' width='300' /></td>";
	content += "</tr>";
	content += "<tr>";
	content += "<td align='left'>";
	content += "<span class='product_name'>" + name + "</span><br />";
	content += "<span class='product_price'>" + price_value + " " + C_SYMBOL + " / " + measurement_rate + "</span>";
	content += "</td>";
	content += "</tr>";
	content += "<tr>";
	content += "<td align='left'><span class='min_cart_value'>" + MIN_CART_VALUE + "</span></td>";
	content += "</tr>";
	content += "</table>";

	var options;
	var localOptions;
	localOptions = jQuery.extend({title: "MAXI ONLINE", show: true, closeable: true, modal: true}, options);
	localOptions.unloadOnHide = false;
	new Boxy(content, localOptions);
}

//setOrdersStatus(this.value, {$shipments[i].Shipment_ID});
function setOrdersStatus(value, id){
	$(".orders_" + id).val(value);
}

/* ADD TO FAVORITES */
function repeatCart(ids, quantities, prices, names){
	$.post("/myshopping/repeatcart", {ids:ids, quantities:quantities, prices:prices, names:names},
	function(data){
		if(data == 0){
			alert('Desila se greska pokusajte ponovo');
		}else{
			document.location.href = '/checkout';
		}
	}, "json");	
}
