var WGP = jQuery.noConflict();
WGP().ready(function($) {
	var el, e, container, trigger, content, box, trigger, stars, speed, url, ad;
	var webhostgear = {};
	
	webhostgear.clickSubmit = function(){
//		$(container).click(function(e){
//			var $form = $(container).parents('form');
//			$.ajax({
//				type: "POST",
//				url: $form.attr('action'),
//				dataType: "html",
//				data: $form.serialize(),
//				error: function(data){
//					var html = '<p><strong>There has been an error in our server. Please try again.</strong></p>';
//					$form.html(html);
//				},
//				success: function(data){
//					if(data != '') {
//						var html = data;
//						$form.html(data);
//						/* eval(data) */
//					} else {
//						var html = '<p><strong>Thank you for sending us your opinion.</strong></p>';
//						$form.html(html);
//					}
//				}
//			},function(){
//				alert("send complete");
//			});
//			e.preventDefault();
//		});
		$form = $('div.RateReview');
		if($form.html() != null){
			spanExist = false;
			$('div.RateReview span').each(function(index){
				span = $(this).attr('class');
				if(span == 'message required' || span == 'message validation'){
					spanExist = true;
				}
			});
			if(spanExist == true){
				$form.css('display','block');
				$('html,body').animate({scrollTop: $('#ProviderUserRatingForm_ProviderUserRatingForm').offset().top}, {duration: 'slow', easing: 'swing'});
			}
		}
	};
	webhostgear.searchfingerprint = function (el) {
		var fingerprint = $(el).val();
		$(el).click(function (e) {
			$(this).css("color", "#000");
			$(this).val("");
			e.stopPropagation()
		});
		$(el).blur(function (e) {
			var $context = $(this).val();
			if ($context.length <= 0) {
				$(this).css("color", "#C2C2C2");
				$(this).val(fingerprint)
			}
			e.stopPropagation()
		})
	};
	webhostgear.tabsbox = function (container, trigger, content, box) {
		if (typeof($(container)) == "object") {
			var $links = $(trigger).find("a");
			if ($links.length > 1) {
				$links.click(function () {
					var $link = $(this);
					var $index = $link.parent().index();
					var $content = $(content).find("li").filter(box);
					$links.addClass("TabUnselected");
					$content.each(function () {
						if ($(this).index() != $index) {
							$(this).children().fadeOut();
							$link.removeClass("TabUnselected");
							$(this).addClass("hide")
						} else {
							$(this).children().fadeIn();
							$(this).removeClass("hide")
						}
					});
					return false
				})
			} else {
				return null
			}
		} else {
			return null
		}
	};
	webhostgear.seemoretabs = function (container, trigger, menulist) {
		var $container = $(container),
		$trigger = $(trigger),
		$menulist = $(menulist),
		$menulistItemWidth = 0,
		$menuItemsHalf = 0,
		$itemMovement = 0;
		$containerWidth = $container.width();
		if (typeof($container) == "object" && typeof($menulist) == "object") {
			$menulist.find("li").each(function () {
				$menulistItemWidth = $menulistItemWidth + $(this).width();
				if (Math.floor($(this).index()) < ($menulist.find("li").length / 2 - 1)) {
					$menuItemsHalf = $menuItemsHalf + $(this).width() + 2
				}
			});
			if (typeof($menulist) == "object" && $container.width() < $menulistItemWidth) {
				$menuItemsHalf = $menuItemsHalf - 4;
				$itemMovement = "-" + $menuItemsHalf + "px";
				$trigger.toggleClass("hide");
				if (typeof($trigger) == "object") {
					var $text = $trigger.find("span");
					$trigger.click(function () {
						if ($text.text() == "See More") {
							$text.text("Back");
							$menulist.animate({
								"margin-left": $itemMovement
							})
						} else {
							$text.text("See More");
							$menulist.animate({
								"margin-left": "0px"
							})
						}
						return false
					})
				}
			}
		}
	};
	webhostgear.isjavascripton = function (el) {
		$(el).removeClass("js-off");
		$(el).addClass("js-on")
	};
	webhostgear.starratings = function (trigger, stars) {
		var $trigger = $(trigger),
		$stars = $(stars),
		$radio,
		$starValue,
		$neededClass,
		$classString,
		$Link;
		elem = $stars[0] ? $stars[0].tagName.toLowerCase() : $stars;
		if (typeof($trigger) == "object" && typeof($stars) == "object") {
			if (elem == "a") {
				$stars.hover(function () {
					$starValue = parseInt($(this).text());
					$neededClass = "Big" + $starValue + "Stars";
					$trigger.addClass($neededClass)
				},
				function () {
					$trigger.removeClass($neededClass);
					$trigger.addClass("Big0Stars")
				});
				$stars.click(function (e) {
					e.preventDefault();
					$Link = $(this).attr("href");
					$starValue = parseInt($(this).text());
					$.post($Link, {
						'rating_value': $starValue
					},
					function (response, status, xhr) {
						if (status == "error") {
							var msg = "Sorry, but there was an error: ";
							$(".RightTitleRate span").html(msg + xhr.status + " " + xhr.statusText)
						} else {
							$trigger.remove();
							$(".RightTitleRate span").html("Thank You!")
						}
					})
				})
			} else {
				$stars = $(stars).find("label");
				$stars.hover(function () {
					$starValue = $(this).parent("li").find("input").val();
					$rootParent = $(this).parent("li").parent("ul");
					$classString = "rate" + $starValue + "stars";
					$rootParent.removeClass("rate1stars rate2stars rate3stars rate4stars rate5stars rate6stars rate7stars rate8stars rate9stars rate10stars");
					$rootParent.addClass($classString)
				},
				function () {
					$stars.removeAttr("checked");
					$starValue = $(this).parent("li").find("input:radio").attr("checked", "checked");
					$starValue = $(this).parent("li").find("input").val()
				})
			}
		} else {
			return null
		}
	};
	webhostgear.togglebox = function (trigger, container, speed) {
		var $trigger = $(trigger),
		$container = $(container),
		$animateSpeed = speed * 60,
		$offset = 0;
		if (typeof($trigger) == "object") {
			$trigger.click(function () {
				var $status = $(this).css("display");
				$container.slideToggle($animateSpeed, function () {
					if ($trigger.hasClass("OrangeLinkBig") == true) {
						$trigger.toggleClass("OrangeLinkBigHovered");
						$trigger.find("span").toggleClass("OrangeLinkBigHoveredSpan")
					}
				});
				if ($trigger.hasClass("OrangeLinkBigHovered")) {
					return null
				} else {
					return false
				}
			})
		}
	};
	webhostgear.linkonnewtabs = function (el) {
		$(el).attr("target", "_blank")
	};

	webhostgear.loadads = function (container, url, zoneid) {
		$(container).html("<iframe noresize='noresize' scrolling='no' frameborder='0' marginwidth='0' marginheight='0' src='" + url + "?id=" + zoneid + "'></iframe>")
	};
	webhostgear.openbox = function (container, speed) {
		$animateSpeed = speed * 60,
		$(container).slideDown($animateSpeed)
	};
	webhostgear.articlesubmitcomment = function() {
		var articleCommentForm = $('form#ArticleCommentForm_ArticleComment');
		if(articleCommentForm.length > 0){
			var spanExist = false;
			$('div.FormsBox span').each(function(index){
				span = $(this).attr('class');
				if(span == 'message required' || span == 'message validation'){
					spanExist = true;
				}
			});
			if(spanExist == true){
				$('html,body').animate({scrollTop: $('#ArticleCommentForm_ArticleComment').offset().top}, {duration: 'slow', easing: 'swing'});
			}
		}
	};
	webhostgear.tabsbox = function (container, trigger, content, box) {
		if (typeof($(container)) == "object") {
			var $links = $(trigger).find("a");
			if ($links.length > 1) {
				$links.click(function () {
					var $link = $(this);
					var $index = $link.parent().index();
					var $content = $(content).find("li").filter(box);
					$links.addClass("TabUnselected");
					$content.each(function () {
						if ($(this).index() != $index) {
							$(this).children().fadeOut();
							$link.removeClass("TabUnselected");
							$(this).addClass("hide")
						} else {
							$(this).children().fadeIn();
							$(this).removeClass("hide")
						}
					});
					return false
				})
			} else {
				return null
			}
		} else {
			return null
		}
	};
	function init() {
		start: {
			webhostgear.isjavascripton(".page");
			webhostgear.linkonnewtabs(".LinkOut");
			webhostgear.linkonnewtabs(".LinkOut");
		};
		events: {
			webhostgear.searchfingerprint("input#query");
			webhostgear.tabsbox(".TabbedMediaBox", ".triggerMenus", ".triggerContent", ".boxContent");//container,trigger,content,box
			webhostgear.tabsbox(".ToggleBox", ".triggerMenus", ".AdvancedFeaturesSet", ".SetBox");
			webhostgear.seemoretabs(".triggerMenuWrap", ".MoreTriggers", ".triggerMenus");
			webhostgear.starratings(".BigStars", ".star");
			webhostgear.starratings(".review-star-rating", ".review-star-rating li");
			webhostgear.togglebox(".ToggleLink", ".ToggleBox", 8);
			webhostgear.togglebox(".RateReviewLink", ".RateReview", 5);
			webhostgear.clickSubmit();
			webhostgear.articlesubmitcomment();
		}
	}
	init()
});

function validationError(field,message, messageClass, cacheError) {
	if(typeof(field) == 'string') {
		field = $('#'+field);
	} else {
		return false;
	}

	// See if the tag has a reference to the validationMessage (quicker than the one below)
	var validationMessage = field.validationMessage;

	// Cycle through the elements to see if it has a span
	// (for a validation or required messages)
	if(!validationMessage) {
		validationMessage = field.find('span.message');
	}

	// If we didn't find it, create it
	if(validationMessage.length == 0) {
		validationMessage = $('<span class="message"></span>');
		field.append( validationMessage );
	}

	// Keep a reference to it
	field.validationMessage = validationMessage;

	// Set the attributes
	validationMessage.html( message );
	validationMessage.show();

}
/**
 *  Reloads Recaptcha image on failed attempt
*/
function statusMessage( msg, status ){
	//Reset Captcha
	if( status == 'bad' ) {
		Recaptcha.reload();
	}
	return true;
}

