/* detect IE6 and lower */
function detectIE6(){
	var browser = navigator.appName;
	if (browser == "Microsoft Internet Explorer"){
		var b_version = navigator.appVersion;
		var re = /\MSIE\s+(\d\.\d\b)/;
		var res = b_version.match(re);
		if (res[1] <= 6){
			return true;
		}
	}
	return false;
}

/* IE5-6 css bg flicker fix */
if (detectIE6()) {
	try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {}
}
/* IE5-6 png fix */
function fixPNG(element) {
	if (detectIE6()) {
		var src;
		if (element.tagName == 'IMG') {
			if (/\.png$/.test(element.src)) {
				src = element.src;
				element.src = "/i/px.gif";
			}
		} else {
			src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
			if (src) {
				src = src[1];
				element.runtimeStyle.backgroundImage = "none";
			}
		}
		if (src) {
			element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='crop')";
		}
	}
}

if(typeof sIFR == "function"){
	sIFR.replaceElement(named({sSelector:"#top .futura", sFlashSrc:"/common/sifr/futura.swf", sWmode:"transparent", sLinkColor:"#333333", sColor:"#999999" }));
	sIFR.replaceElement(named({sSelector:".futura", sFlashSrc:"/common/sifr/futura.swf", sColor:"#ffffff", sWmode:"transparent" }));
};

$(function() {
	
	/* share button */
	$("#share").hover(
		function() {
			return addthis_open(this, '', location.href, document.title);
		}, function() {
			addthis_close();
		}
	);
	$("#share img").click(function() {return addthis_sendto()})
	
	/* others */
	var fstatus = false;
	$("#products .toggle").click(function() {
		$("#products .hidden").slideToggle(250);
		if (fstatus == true) {
			$(this).text("View all options");
			fstatus = false;
		} else {
			$(this).text("View less options");
			fstatus = true;
		}
	});
	
	$(document).ready($.fn.changeImage = function () {
		var numImages = 3;
		var currentImage = 1;
		window.setInterval(change, 4000);
		function change(){
			$("#pic" + currentImage).fadeOut(500);
			currentImage = (currentImage >= numImages) ? 1 : currentImage + 1;
			$("#pic" + currentImage).fadeIn(500);
		}
	});
	
	function emailCheck(email) {
		var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
		return pattern.test(email);
	}
											
	$.fn.unwrap = function(elem){
		var elements;
		if (elem == null){
			elements = jQuery(this);
		}
		else if (typeof elem == "string"){
			elements = jQuery(this).find(elem);
		}
		else if (typeof elem == "object"){
			elements = elem;
		}
		else alert("unknow elem");
		
		elements.each(function(){
			jQuery(this).parent().replaceWith(jQuery(this));
		});
	}
	
	/* review form validation */
	
	$("#submitreview form").submit(function() {
		
		var error0;
		var error1;
		var error2;
		var error3;
		var error4;
		var error5;
		var error6;
		
		var wraperror = '<div class="error"></div>';
		
		if($("#rate").length) {
			var target = $("#rate");
			var error = $("#error_rating");
			if ($("#0_rating").val() == 0 || $("#1_rating").val() == 0 || $("#2_rating").val() == 0 || $("#3_rating").val() == 0){
				if(!error.length) {
					target.wrap(wraperror);
					target.closest(".error").attr({id: "error_rating"});
					target.after('<p>Please, rate correctly.</p>');
				}
				error0 = true;
			} else if (error.length) {
				error.unwrap(target);
				error0 = false;
			}
		}
		
		if($("#author").length) {
			var target = $("#author");
			var error = $("#error1");
			if (target.val().length < 2){
				if(!error.length) {
					target.wrap(wraperror);
					target.closest(".error").attr({id: "error1"});
					target.after('<p>Please, enter a valid name.</p>');
				} else {
					error.css({opacity:0}).fadeTo(200,1)
				}
				error1 = true;
			} else if (error.length) {
				error.unwrap(target);
				error1 = false;
			}
		}
		
		if($("#email").length) {
			var email = emailCheck($("#email").val());
			var target = $("#email");
			var error = $("#error2");
			if (email == false){
				if(!error.length) {
					target.wrap(wraperror);
					target.closest(".error").attr({id: "error2"});
					target.after('<p>Please, enter a valid email.</p>');
				} else {
					error.css({opacity:0}).fadeTo(200,1)
				}
				error2 = true;
			} else if (error.length) {
				error.unwrap(target);
				error2 = false;
			}
		}
		
		if($("#title").length) {
			var target = $("#title");
			var error = $("#error3");
			if (target.val().length < 10){
				if(!error.length) {
					target.wrap(wraperror);
					target.closest(".error").attr({id: "error3"});
					target.after('<p>Please, enter a valid review title.</p>');
				} else {
					error.css({opacity:0}).fadeTo(200,1)
				}
				error3 = true;
			} else if (error.length) {
				error.unwrap(target);
				error3 = false;
			}
		}
		
		if($("#pros").length) {
			var target = $("#pros");
			var error = $("#error4");
			if (target.val().length < 5){
				if(!error.length) {
					target.wrap(wraperror);
					target.closest(".error").attr({id: "error4"});
					target.after('<p>Please, enter a valid pros.</p>');
				} else {
					error.css({opacity:0}).fadeTo(200,1)
				}
				error4 = true;
			} else if (error.length) {
				error.unwrap(target);
				error4 = false;
			}
		}
		
		if($("#cons").length) {
			var target = $("#cons");
			var error = $("#error5");
			if (target.val().length < 5){
				if(!error.length) {
					target.wrap(wraperror);
					target.closest(".error").attr({id: "error5"});
					target.after('<p>Please, enter a valid cons.</p>');
				} else {
					error.css({opacity:0}).fadeTo(200,1)
				}
				error5 = true;
			} else if (error.length) {
				error.unwrap(target);
				error5 = false;
			}
		}
		
		if($("#comment").length) {
			var target = $("#comment");
			var error = $("#error6");
			if (target.val().length < 10){
				if(!error.length) {
					target.wrap(wraperror);
					target.closest(".error").attr({id: "error6"});
					target.after('<p>Please, enter a little bit more.</p>');
				} else {
					error.css({opacity:0}).fadeTo(200,1)
				}
				error6 = true;
			} else if (error.length) {
				error.unwrap(target);
				error6 = false;
			}
		}
		
		if (error0 == true || error1 == true || error2 == true || error3 == true || error4 == true || error5 == true || error6 == true) {
			return false;
		}
	
	});
	
	
	/* testimonial form validation */
	
	$("#testimonialform").submit(function() {
		
		var error0;
		var error1;
		var error2;
		
		var wraperror = '<div class="error"></div>';
		
		if($("#author").length) {
			var target = $("#author");
			var error = $("#error0");
			if (target.val().length < 2){
				if(!error.length) {
					target.wrap(wraperror);
					target.closest(".error").attr({id: "error0"});
					target.after('<p>Please, enter a valid name.</p>');
				} else {
					error.css({opacity:0}).fadeTo(200,1)
				}
				error0 = true;
			} else if (error.length) {
				error.unwrap(target);
				error0 = false;
			}
		}
		
		if($("#email").length) {
			var email = emailCheck($("#email").val());
			var target = $("#email");
			var error = $("#error1");
			if (email == false){
				if(!error.length) {
					target.wrap(wraperror);
					target.closest(".error").attr({id: "error1"});
					target.after('<p>Please, enter a valid email.</p>');
				} else {
					error.css({opacity:0}).fadeTo(200,1)
				}
				error1 = true;
			} else if (error.length) {
				error.unwrap(target);
				error1 = false;
			}
		}
		
		if($("#comment").length) {
			var target = $("#comment");
			var error = $("#error2");
			if (target.val().length < 10){
				if(!error.length) {
					target.wrap(wraperror);
					target.closest(".error").attr({id: "error2"});
					target.after('<p>Please, enter a little bit more.</p>');
				} else {
					error.css({opacity:0}).fadeTo(200,1)
				}
				error2 = true;
			} else if (error.length) {
				error.unwrap(target);
				error2 = false;
			}
		}
		
		if (error0 == true || error1 == true || error2 == true) {
			return false;
		}
	
	});
	

});