jQuery.noConflict();

function GoogleKey()
{
	var keys = {} ;
	keys['shop.cosmetica.loc'] = 'ABQIAAAAf1m8CQP25hGcTt-ax5cpyhTQD3_BZwfEIykiw5xhyn9P4MNmcxQtvqMHT0hPsblUaWFA983c839PBw';
	keys['shop.cosmetica.it'] = 'ABQIAAAAf1m8CQP25hGcTt-ax5cpyhQ1LPrq5yx9ynB8TerrsRvorQC5WxTZNDTjjYJEtgZM7JAZxiELs8a65g';
	keys['www.cosmetica.it'] = 'ABQIAAAAf1m8CQP25hGcTt-ax5cpyhQhYJBjpFAh5_0atrY6cftytY8cahSWBGc8kLS3lRiWf727NQUiRibTkA';

	var key = '';
	for(var k in keys){
		if( window.location.href.indexOf(k) > -1 )
			key = keys[k];
	}
	
	return key;
}

jQuery(document).ready(function(){
	
	var CheckoutHideBlock = function(el){
		el.val('');
		var inputBox = el.parent();
		var panel = inputBox.parent();
		panel.hide();	
	}
	
	var BillingCheckoutShowCity = function(el,opts){
        var inputBox = el.parent();
		var panel = inputBox.parent();
		var title = el.attr('title');
		var id = el.attr('id');
		var name = el.attr('name');
		var cls = el.attr('class');
		el.remove();
		
		var nel = jQuery(Format('<select>{0}</select>',opts));
		nel.attr('id',id);
		nel.attr('name',name);
		nel.attr('title',title);
		nel.attr('class',cls);
		
		inputBox.html(nel);		

        $BillingCity = jQuery(".BillingCity");
        $BillingCity.focus();
		jQuery('.BillingCity').change(BillingCheckoutGetGoogleZip);
		
		panel.show();
	}
	
	var ShippingCheckoutShowCity = function(el,opts){
		var inputBox = el.parent();
		var panel = inputBox.parent();
		var title = el.attr('title');
		var id = el.attr('id');
		var name = el.attr('name');
		var cls = el.attr('class');
		el.remove();
		
		var nel = jQuery(Format('<select>{0}</select>',opts));
		nel.attr('id',id);
		nel.attr('name',name);
		nel.attr('title',title);
		nel.attr('class',cls);
		
		inputBox.html(nel);		

        $ShippingCity = jQuery(".ShippingCity");
        $ShippingCity.focus();
		jQuery('.ShippingCity').change(ShippingCheckoutGetGoogleZip);
		
		panel.show();
	}
	
	var CheckoutShowZip = function(el,zip){
		var inputBox = el.parent();
		var panel = inputBox.parent();
		el.val(zip);
		if(zip!=''){
			el.css('background-color','#ccc');
			el.css('color','#999');
		}
		else{
			el.css('background-color','#FFF');
			el.css('color','#666');
		}
		panel.show();
	}
	
	var BillingCheckoutGetGoogleZip = function(e){
        //debugger;
		var t=jQuery(this);
		var val=t.val();
	
		var country = 'ITALIA';
		var region = jQuery('.BillingRegionId').find('option:selected').text();
		var city = jQuery('.BillingCity').find('option:selected').text();
		var address =  jQuery('.BillingAddress').val();
		var key = GoogleKey();

        if( region == '' || city == '' || address == '' ) return;

		//var q = address + ", " + city + ", "  + region + ", "  + country;
		var q = encodeURIComponent(country + ", " + region + ", "  + city + ", " + address) ;
		var qs = "q="+q+"&key="+key+"&sensor=false&output=json&callback=?";
		var url = "http://maps.google.com/maps/geo";
		var urlqs = url+"?"+qs;
		
		//alert(urlqs);
		
		var requestComplete = {};
		var requestData = function()
		{
			var now = (new Date()).getTime();
			requestComplete[now] = false;
			
			jQuery.ajax({
				type: "GET",
				dataType: "json",
				data: qs,
				url: url,
				success: function (data) {

                    try{
                        var Locality = data.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality
                        var DependentLocality = Locality.DependentLocality;

                        var num = '';

                        if( typeof(DependentLocality) != 'undefined' )
                        num = DependentLocality.PostalCode.PostalCodeNumber;
                        else
                        num = Locality.PostalCode.PostalCodeNumber;

                        if( typeof(num) != 'undefined' )
                        {
                            CheckoutShowZip($BillingZip,num);
                            $BillingZipSolve.show();
                            requestComplete[now] = true;
                        }
                    } catch(ex){
                        CheckoutShowZip($BillingZip,'');
                        $BillingZipSolve.hide();
						requestComplete[now] = true;
                    }
				}
			});
			setTimeout(function() {
				if (!requestComplete[now]) {
					//alert("Indirizzo inesistente o errato per il comune prescelto. Riprovare o correggere.");
					CheckoutShowZip($BillingZip,'');
					$BillingZipSolve.hide();
				}
			}, 3000); // give the JSONP request 5 seconds to work
		};
		
		requestData();
	}
	
	var ShippingCheckoutGetGoogleZip = function(e){
		var t=jQuery(this);
		var val=t.val();
	
		var country = 'ITALIA';
		var region = jQuery('.ShippingRegionId').find('option:selected').text();
		var city = jQuery('.ShippingCity').find('option:selected').text();
		var address =  jQuery('.ShippingAddress').val();
		var key = GoogleKey();

        if( region == '' || city == '' || address == '' ) return;
        
		//var q = address + ", " + city + ", "  + region + ", "  + country;
		var q = encodeURIComponent(country + ", " + region + ", "  + city + ", " + address) ;
		var qs = "q="+q+"&key="+key+"&sensor=false&output=json&callback=?";
		var url = "http://maps.google.com/maps/geo";
		var urlqs = url+"?"+qs;
		
		//alert(urlqs);
		
		var requestComplete = {};
		var requestData = function()
		{
			var now = (new Date()).getTime();
			requestComplete[now] = false;
			
			jQuery.ajax({
				type: "GET",
				dataType: "json",
				data: qs,
				url: url,
				success: function (data) {

                    try{
                        var Locality = data.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality
                        var DependentLocality = Locality.DependentLocality;

                        var num = '';

                        if( typeof(DependentLocality) != 'undefined' )
                        num = DependentLocality.PostalCode.PostalCodeNumber;
                        else
                        num = Locality.PostalCode.PostalCodeNumber;

                        if( typeof(num) != 'undefined' )
                        {
                            CheckoutShowZip($ShippingZip,num);
                            $ShippingZipSolve.show();
                            requestComplete[now] = true;
                        }
                    }catch(ex){
						CheckoutShowZip($ShippingZip,'');
					    $ShippingZipSolve.hide();
						requestComplete[now] = true;
                    }
				}
			});
			setTimeout(function() {
				if (!requestComplete[now]) {
					//alert("Indirizzo inesistente o errato per il comune prescelto. Riprovare o correggere.");
					CheckoutShowZip($ShippingZip,'');
					$ShippingZipSolve.hide();
				}
			}, 3000); // give the JSONP request 5 seconds to work
		};
		
		requestData();
	}
	
	$BillingAddress = jQuery(".BillingAddress");
	$BillingCity = jQuery(".BillingCity");
	$BillingZip = jQuery(".BillingZip") ;
	$BillingRegionId = jQuery(".BillingRegionId") ;
	$BillingZipSolve = jQuery("#BillingZipSolve") ;
	
	$ShippingAddress = jQuery(".ShippingAddress");
	$ShippingCity = jQuery(".ShippingCity");
	$ShippingZip = jQuery(".ShippingZip") ;
	$ShippingRegionId = jQuery(".ShippingRegionId") ;
	$ShippingZipSolve = jQuery("#ShippingZipSolve") ;
		
	//CheckoutHideBlock($BillingCity);
	CheckoutHideBlock($BillingZip);
	//CheckoutHideBlock($ShippingCity);
	CheckoutHideBlock($ShippingZip);
	
	$BillingZipSolve.click(function(e){
		e.preventDefault();
		CheckoutShowZip($BillingZip,'');
        jQuery(this).hide();
	});
	
	$ShippingZipSolve.click(function(e){
		e.preventDefault();
		CheckoutShowZip($ShippingZip,'');
        jQuery(this).hide();
	});
	
	var BillingCheckoutOnChange = function(e){
		jQuery('.BillingRegionId').trigger('change');
		var t = jQuery(this);
		var cls = t.attr('class');
		var address = jQuery('.BillingAddress').val() != '';
		var region = jQuery('.BillingRegionId').val() != '';
		var city = jQuery('.BillingCity').val() != '';
		if( address+region+city==3 ){
			BillingCheckoutGetGoogleZip();
		}
	}
	
	var ShippingCheckoutOnChange = function(e){
		jQuery('.ShippingRegionId').trigger('change');
		var t = jQuery(this);
		var cls = t.attr('class');
		var address = jQuery('.ShippingAddress').val() != '';
		var region = jQuery('.ShippingRegionId').val() != '';
		var city = jQuery('.ShippingCity').val() != '';
		if( address+region+city==3 ){
			ShippingCheckoutGetGoogleZip();
		}
	}
	
	$BillingAddress.blur(BillingCheckoutOnChange);
	$BillingCity.blur(BillingCheckoutOnChange);
	$BillingCity.change(BillingCheckoutOnChange);
	
	jQuery('#billing-address-select').change(BillingCheckoutOnChange);
	$BillingCity.change(BillingCheckoutOnChange);
	
	$ShippingAddress.blur(ShippingCheckoutOnChange);
	$ShippingCity.blur(ShippingCheckoutOnChange);
	$ShippingCity.change(ShippingCheckoutOnChange);
	
	$BillingRegionId.change(function(e){
        //debugger;
		var t=jQuery(this);
		var val=t.val();
		if(val == '') return;
        //$BillingCity.hide();
		jQuery.ajax({
			type: "GET",
			url: "/_script/services/cities.php",
			data: "id="+val,
			success: function(opts){
				BillingCheckoutShowCity($BillingCity,opts);
			},
			error: function(xhr, textStatus, errorThrown){
				alert("Error: " +textStatus)
			}
		});	
	});
	
	$ShippingRegionId.change(function(e){
		var t=jQuery(this);
		var val=t.val();
		if(val == '') return;
        //$ShippingCity.hide();
		jQuery.ajax({
			type: "GET",
			url: "/_script/services/cities.php",
			data: "id="+val,
			success: function(opts){
				ShippingCheckoutShowCity($ShippingCity,opts);
			},
			error: function(xhr, textStatus, errorThrown){
				alert("Error: " +textStatus)
			}
		});	
	});
});

jQuery(document).ready(function(){
	
	// Clear Login Value
	jQuery(".clear-login").val('');
	
	// Check Privacy
	var privacyError = jQuery('#privacy-error');
	var privacyPanel = jQuery('#privacy-panel');
	privacyError.hide();
	jQuery(".check-privacy").click(function(){ 
		var privacy = jQuery('#privacy-checkbox');
		if( ! privacy.is(':checked') ){
			privacyPanel.css('border','1px dashed red');
			privacyError.show();
			return false;
		} else {
			privacyPanel.css('border','0px');
			privacyError.hide();
			if(typeof(CheckoutButtonOnClick)!= 'undefined')
			{
				$ShippingAddress.val("");
				$ShippingCity.val("");
				$ShippingZip.val("") ;
				$ShippingRegionId.val("") ;
				CheckoutButtonOnClick();
			}
			return true;	
		}
	});


    if( jQuery('#billing-address-select option').length > 1 ){
        jQuery('.billing-privacy-checkbox').attr('checked','checked');
        jQuery('.billing-privacy-checkbox').parent().hide();
    }


	
	// PrettyPhoto: catalog/product/view 
	jQuery("a[rel^='prettyPhoto']").prettyPhoto();
	
	// Tabelle
	
	jQuery("table.table tr:odd").addClass("odd");
	jQuery("table.table tr:even").addClass("even");
	
	// Live Help
	jQuery("a.live-help").click(function(e){ e.preventDefault(); alert("Live Support Window"); });
	// Live Help

	jQuery("a.tracking-order").click(function(e){ e.preventDefault(); popBartolini(); });
	
	// Social
	jQuery("a.live-help").click(function(e){ e.preventDefault(); alert("Live Support Window"); });
	
	// Condizioni di Vendita
	var cvli = jQuery(".condizioni-vendita").parent();
	var cv = jQuery(".condizioni-vendita-new");
	cvli.html('');
	cvli.append(cv);
	
	
	// Menu
	
	jQuery("#nav a, .submenu-dyn").mouseover(function(){
		var t = jQuery(this);	
		var rel = t.attr('rel');
		var off = t.offset();
		MenuShowPanel(rel,off);
	});
	
	jQuery("#nav a, .submenu-dyn").mouseout(function(){
		var t = jQuery(this);	
		var rel = t.attr('rel');
		MenuHidePanel();
	});

    var jCompare = jQuery("#compare-dyn");
    if( jCompare.length > 0 )
    {
        jQuery("a[href='/wishlist']").after(jCompare);
        jQuery("a[href='/wishlist']").after(" - ");
        jCompare.show();       
    }

    jQuery('span.mail').each
    (
        function()
        {
            mail = 'cosmetica.it';
            account = jQuery(this).html();
            account_domain = account + '@' + mail ;
            jQuery(this).html('<a href="mailto:'+account_domain+'">'+account_domain+'</a>')
        }
    ); // end names.each

    jQuery('span.pec').each
    (
        function()
        {
            mail = 'pec.cosmetica.it';
            account = jQuery(this).html();
            account_domain = account + '@' + mail ;
            jQuery(this).html('<a href="mailto:'+account_domain+'">'+account_domain+'</a>')
        }
    ); // end names.each
	
	
	jQuery(".slider").slideshow({
		width      : 686,
		height     : 260,
		pauseOnHover : false,
		navigation      : false, 
		delay           : 5000,
		transition : ['explode','slideLeft', 'slideRight', 'slideTop', 'slideBottom']
	});
	
	jQuery(".caption").fadeIn(500);
	
});

	var MenuIsVisible = 0;
	var MenuInterval = null;
	var MenuWait = 1000;
	var MenuCurrent = '';
	var MenuShowPanel = function(rel,off)
	{
		if( MenuCurrent != rel )
		{
			jQuery(".submenu-dyn").hide();
			clearInterval(MenuInterval);
			MenuCurrent = rel;
			submenu = jQuery(".submenu-dyn[rel='"+rel+"']");
			submenu.fadeIn("slow",function(){});	
			submenu.offset({left:off.left});
		} else {
			clearInterval(MenuInterval);
		}
	}
	
	var MenuHidePanel = function(rel){
		MenuInterval = setInterval(MenuCheckHide,1000);
	}
	
	var MenuCheckHide = function(){
		var submenu = jQuery(".submenu-dyn[rel='"+MenuCurrent+"']");
		clearInterval(MenuInterval);
		submenu.fadeOut("slow");
		MenuCurrent = '';
	}

