﻿

var setMenuTimeoutset = null;
var elm;

function onlyLetter(e) {
    var InvalidChars = "!#/*{[()]},;%^><\\?+:='`|0123456789";
    var keyCode = ($.browser.mozilla) ? e.which : event.keyCode;
    if (keyCode > 47 && keyCode < 58) {
        return false;
    }
    for (i = 0; i <= InvalidChars.length - 1; i++) {
        if (keyCode == InvalidChars.charCodeAt(i)) {
            return false;
        }
	}
}
function onlyNumber(e) {
    var keyCode = ($.browser.mozilla) ? e.which : event.keyCode;
    if ((keyCode < 48 || keyCode > 57) && keyCode != 8 && keyCode != 0) {
        return false;
    }
}
function mailTo(m, e, t) {
    if (!e) {
    	e = 'MagiClick.com ';
    }
    if (!t) {
        t = m + String.fromCharCode(64) + e
    }
    document.write('<a href="mailto:' + m + String.fromCharCode(64) + e + '">' + t + '</a>');
}

var po_Win = {};

function PopItUp_po(src,w,h) {

    if (po_Win.close) {
        po_Win.close();
    }

	po_Win = window.open(src,"_blank","toolbar=0,width="+w+", height="+h+", location=0, directories=0, status=1, scrollbars=0, menubar=0, resizable=0, copyhistory=0");
	po_Win.focus();
}
function setFooter() {
    var _winHeight = $(window).height();
    var _footerHeight = $("#footer").outerHeight();
    var _contentHeight = $("#wrapper").height();
    if (_winHeight > parseInt(_contentHeight + _footerHeight)) {
    	if (homepage == true) {
    		$("#footer").css("margin-top", _winHeight - parseInt(_contentHeight + _footerHeight) + "px")
    	}
    	else {
    		$("#content-area").css("padding-bottom", _winHeight - parseInt(_contentHeight + _footerHeight) + "px")
    	}
    }
}

$().ready(function() {
	$(".faqItem .faqTitle a").click(function() {
		var _index = $(".faqItem .faqTitle a").index(this);
		if ($(".faqItem").eq(_index).hasClass("active")) {
			$(".faqItem").eq(_index).removeClass("active")
			$(".faqItem .faqContent").eq(_index).slideUp("slow");
			return false;
		}
		$(".faqItem").each(function() {
			$(this).removeClass("active");
		})
		$(".faqContent").each(function() {
			$(this).slideUp("slow");
		})
		$(".faqItem").eq(_index).addClass("active");
		$(".faqItem .faqContent").eq(_index).slideToggle("slow");
		return false;
	})

	if (window.location.pathname == "/") {
		$("#logo a").removeAttr("href");
	}
	$(".hasSub img").each(function() {
		$(this).attr("change", $(this).attr("src").split(".gif")[0])
	})
	$("li.sublink").hover(function() {
		$(this).find(".hasSub img").attr("src", $(this).find(".hasSub img").attr("change") + "_ON.gif");
		$(this).find(".subMenu").show();
		var offs = $(this).offset();
		$(this).find(".subMenu").css("left",offs.left+"px")
		$(this).find(".subMenu").children('.subMenuContent').css({
			width: ($(window).width() - offs.left) - 18 + "px"
		});
	}, function() {
	$(this).find(".hasSub img").attr("src", $(this).find(".hasSub img").attr("change") + ".gif");
		$(this).find(".subMenu").hide();
	})

	$(window).bind("load resize", setFooter)

	var rotatorInterval = null;
	var rotator = $(".image-navigation a");
	var rotatorIndex = 1;
	function ImageRotator() {
		if (rotatorIndex == rotator.size()) {
			rotatorIndex = 0;
		}
		rotator.removeClass("active");
		rotator.eq(rotatorIndex).addClass("active");
		$(".image-list img").fadeOut(500).eq(rotatorIndex).fadeIn(500);
		rotatorIndex++

	}
	rotatorInterval = setInterval(ImageRotator, 4000)
	rotator.click(function() {
		var _index = rotator.index(this);
		rotator.removeClass("active");
		$(this).addClass("active");
		$(".image-list img").fadeOut(500).eq(_index).fadeIn(500);
		rotatorIndex = _index + 1;
		return false;
	})
	$(".input-txt input").focus(function() {
		$(this).parents(".input-txt").addClass("active-state");
	})
	$(".input-txt input").blur(function() {
		$(this).parents(".input-txt").removeClass("active-state");
	})
})



   /**
   * jQuery.Preload
   * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com
   * Dual licensed under MIT and GPL.
   * Date: 3/12/2008
   *
   * @projectDescription Multifunctional preloader
   * @author Ariel Flesler
   * @version 1.0.7
   */
   ; (function($) {

   	var $preload = $.preload = function(original, settings) {
   		if (original.split)//selector
   			original = $(original);

   		settings = $.extend({}, $preload.defaults, settings);
   		var sources = $.map(original, function(source) {
   			if (!source)
   				return; //skip
   			if (source.split)//URL Mode
   				return settings.base + source + settings.ext;
   			var url = source.src || source.href; //save the original source
   			if (typeof settings.placeholder == 'string' && source.src)//Placeholder Mode, if it's an image, set it.
   				source.src = settings.placeholder;
   			if (url && settings.find)//Rollover mode
   				url = url.replace(settings.find, settings.replace);
   			return url || null; //skip if empty string
   		});

   		var data = {
   			loaded: 0, //how many were loaded successfully
   			failed: 0, //how many urls failed
   			next: 0, //which one's the next image to load (index)
   			done: 0, //how many urls were tried
   			//found:false,//whether the last one was successful
   			total: sources.length//how many images are being preloaded overall
   		};

   		if (!data.total)//nothing to preload
   			return finish();

   		var imgs = '<img/>', //ensure one
			thres = settings.threshold; //save a copy

   		while (--thres > 0)//it could be oddly negative
   			imgs += '<img/>';
   		imgs = $(imgs).load(handler).error(handler).bind('abort', handler).each(fetch);

   		function handler(e) {
   			data.found = e.type == 'load';
   			data.image = this.src;
   			var orig = data.original = original[this.index];
   			data[data.found ? 'loaded' : 'failed']++;
   			data.done++;
   			if (settings.placeholder && orig.src)//special case when on placeholder mode
   				orig.src = data.found ? data.image : settings.notFound || orig.src;
   			if (settings.onComplete)
   				settings.onComplete(data);
   			if (data.done < data.total)//let's continue
   				fetch(0, this);
   			else {//we are finished
   				if (imgs.unbind)//sometimes IE gets here before finishing line 84
   					imgs.unbind('load').unbind('error').unbind('abort'); //cleanup
   				imgs = null;
   				finish();
   			}
   		};
   		function fetch(i, img, retry) {
   			if ($.browser.msie && data.next && data.next % $preload.gap == 0 && !retry) {//IE problem, can't preload more than 15
   				setTimeout(function() { fetch(i, img, true); }, 0);
   				return false;
   			}
   			if (data.next == data.total) return false; //no more to fetch
   			img.index = data.next; //save it, we'll need it.
   			img.src = sources[data.next++];
   			if (settings.onRequest) {
   				data.image = img.src;
   				data.original = original[data.next - 1];
   				settings.onRequest(data);
   			}
   		};
   		function finish() {
   			if (settings.onFinish)
   				settings.onFinish(data);
   		};
   	};

   	// each time we load this amount and it's IE, we must rest for a while, make it lower if you get stack overflow.
   	$preload.gap = 14;

   	$preload.defaults = {
   		threshold: 2, //how many images to load simultaneously
   		base: '', //URL mode: a base url can be specified, it is prepended to all string urls
   		ext: '', //URL mode:same as base, but it's appended after the original url.
   		replace: ''//Rollover mode: replacement (can be left empty)
   		/*
   		find:null,//Rollover mode: a string or regex for the replacement
   		notFound:''//Placeholder Mode: Optional url of an image to use when the original wasn't found
   		placeholder:'',//Placeholder Mode: url of an image to set while loading
   		onRequest:function( data ){ ... },//callback called every time a new url is requested
   		onComplete:function( data ){ ... },//callback called every time a response is received(successful or not)
   		onFinish:function( data ){ ... }//callback called after all the images were loaded(or failed)
   		*/
   	};

   	$.fn.preload = function(settings) {
   		$preload(this, settings);
   		return this;
   	};

   })(jQuery);