function addToCart(id,src) {
	src = src ? src : '#product-'+id;
	
	$('#cart-box').load('/application/modules/cartBox.php?add='+id);
	var options = { to: ".cart-link", className: 'ui-effects-transfer' };
	$(src).effect('transfer',options, 500, function(e){
	});
}

function getUrl(url) {
	document.location.href = url;
}

function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num)) {
		num = "0";
	}
	
	var sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	var cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10) {
		cents = "0" + cents;
	}
	
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) {
		num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
	}
	return (((sign)?'':'-') + num + '.' + cents);
}


function nextSlide(manual) {
	var slide=0;
	if (currentSlide + 1 >= totalSlides) {
		slide = 0;
	} else {
		slide = currentSlide + 1;
	}
	
	setSlide(slide, manual);
	
	if (slide > 3) {
		listRight();
	}
	
	if(slide == 0) {
		setPager(0);	
	}
}

function prevSlide(manual) {
	var slide=0;
	if (currentSlide - 1 < 0) {
		slide = totalSlides - 1;
	} else {
		slide = currentSlide - 1;
	}
	setSlide(slide, manual);	
}

function setSlide(newSlide, manual) {
	if (newSlide == currentSlide) return;
	
	if (!sliding) {
		var cur_slide = $("#spotlight div.spotlight-item[idx="+currentSlide+"]");
		var new_slide = $("#spotlight div.spotlight-item[idx="+newSlide+"]");
		currentSlide = newSlide;
		
		$(".spotlight-entries ul li").removeClass("active");
		$(".spotlight-entries #item_" + currentSlide).addClass("active");
		
		sliding = true;
		new_slide.css("display","block");
		new_slide.animate({
			opacity:1,
		}, effectSpeed);

		cur_slide.animate({
			opacity:0,
		}, effectSpeed, function(){$(this).css("display","none"); sliding = false;});
	}
	
	
	
	if (manual) {
		clearInterval(intervalID);
	} 
}

function listRight() {
	var newPos = 0;
	var gr_width = 4 * groupWidth;
	
	newPos = pagerPos - groupWidth;
	
	if (newPos > -(totalWidth - (gr_width-groupWidth))) {
		setPager(newPos);
		
		if (Math.abs(newPos - groupWidth) > totalWidth-gr_width) {
			$('.spotlight-entries .next-slide').addClass('disabled');	
		}
	} 
	$('.spotlight-entries .prev-slide').removeClass('disabled');
}

function listLeft() {
	var newPos=0;
	if (pagerPos + groupWidth <= 0) {
		newPos = pagerPos + groupWidth;
		setPager(newPos);
		if (newPos >= 0) {
			$('.spotlight-entries .prev-slide').addClass('disabled');
		}
	}
	$('.spotlight-entries .next-slide').removeClass('disabled');	
}

function setPager(pos) {
	var slider = $("#switcher-wrap ul");
	if (!paging) {
		paging = true;
		
		slider.animate({
			left:pos + "px",
		}, 100, function(){ paging=false; pagerPos = pos;});
		
			
	}
}

function getUrl(url) {
	document.location.href=url;	
}

function reloadPage () {
	document.location.href=document.location.href;	
}

function popUp(URL,w,h,scrollbars,resize) {
	var day = new Date();
	var id = day.getTime();
	var sc = scrollbars ? 1 : 0;
	var rs = resize ? 1 : 0;
	myleft=(screen.width)?(screen.width-w)/2:100;
	mytop=(screen.height)?(screen.height-h)/2:100;
	return eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars="+sc+",location=0,statusbar=0,menubar=0,resizable="+rs+",width="+w+",height="+h+",top="+mytop+",left="+myleft+"')");
}

function Submit (formid, handler) {
	var show_form = arguments[2];
	var reset_form = arguments[3];
	var form = $('#'+formid);
	var msgBoxId = formid+'Msg';
	var msgBox = $('#'+msgBoxId);
	var data = form.serialize()+'&task='+formid;
	msgBox.empty();
	var loading_msg = $('#'+formid+'LoadingMsg').attr('value');
	$('#'+formid+' * :not(div#'+msgBoxId+')').css('visibility','hidden');
	$(msgBox).removeClass().addClass('loading').html(loading_msg+'&nbsp;');
	$('#'+formid+' label').removeClass();

	$.post (handler,data, processor);
	
	function processor (result) {
		var resdata = result.split('|');
		var status = resdata[0].toUpperCase();
		msgBox.html(resdata[1]);
		$(msgBox).removeClass().addClass('message');
		
		if (status == 'OK') {
			$(msgBox).addClass('ok');
			if (show_form>0) {
				$('#'+formid+' *').css('visibility','visible');
			}
			if (reset_form) {
				document.getElementById(formid).reset();
			}
			if (resdata[2]) {
				eval (resdata[2]);	
			}
		} else if (status == 'ER') {
			$('#'+formid+' *').css('visibility','visible');
			$(msgBox).addClass('error');
			var err_fields = resdata[2];
			if (err_fields) {	
				var err_fields_arr = err_fields.split(',');
			for (i=0;i<err_fields_arr.length;i++){
					$('#'+formid+' label[for="'+err_fields_arr[i]+'"]').addClass('errfield');
				}
			}
			if (resdata[3]) {
				eval (resdata[3]);	
			}
		}		
	}
}

var Base64 = {
    _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",

    // public method for encoding
    encode : function (input) {
        var output = "";
        var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
        var i = 0;

        input = Base64._utf8_encode(input);

        while (i < input.length) {

            chr1 = input.charCodeAt(i++);
            chr2 = input.charCodeAt(i++);
            chr3 = input.charCodeAt(i++);

            enc1 = chr1 >> 2;
            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
            enc4 = chr3 & 63;

            if (isNaN(chr2)) {
                enc3 = enc4 = 64;
            } else if (isNaN(chr3)) {
                enc4 = 64;
            }

            output = output +
            this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
            this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);

        }

        return output;
    },

    // public method for decoding
    decode : function (input) {
        var output = "";
        var chr1, chr2, chr3;
        var enc1, enc2, enc3, enc4;
        var i = 0;

        input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

        while (i < input.length) {

            enc1 = this._keyStr.indexOf(input.charAt(i++));
            enc2 = this._keyStr.indexOf(input.charAt(i++));
            enc3 = this._keyStr.indexOf(input.charAt(i++));
            enc4 = this._keyStr.indexOf(input.charAt(i++));

            chr1 = (enc1 << 2) | (enc2 >> 4);
            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
            chr3 = ((enc3 & 3) << 6) | enc4;

            output = output + String.fromCharCode(chr1);

            if (enc3 != 64) {
                output = output + String.fromCharCode(chr2);
            }
            if (enc4 != 64) {
                output = output + String.fromCharCode(chr3);
            }

        }

        output = Base64._utf8_decode(output);

        return output;

    },

    // private method for UTF-8 encoding
    _utf8_encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    },

    // private method for UTF-8 decoding
    _utf8_decode : function (utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < utftext.length ) {

            c = utftext.charCodeAt(i);

            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }
            else if((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }

        }

        return string;
    }
}

function SetCookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if (expires) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	
	var expires_date = new Date( today.getTime() + (expires) );

	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	( ( path ) ? ";path=" + path : "" ) + 
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

function GetCookie( check_name ) {
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false;
	
	for ( i = 0; i < a_all_cookies.length; i++ ) {
		a_temp_cookie = a_all_cookies[i].split( '=' );
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
		if ( cookie_name == check_name ) {
			b_cookie_found = true;
			if ( a_temp_cookie.length > 1) {
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found ) {
		return null;
	}
}	

