var homepage = new function(){
	function init(){
		nvp_parse();
		addEvent(document.getElementsByTagName("body")[0], "resize", resetCart);
		showWrap();
		entryfades();
		$("#toutDiv a").click(showFadeUp);
		$("#gutterField").click(setTxtColor);
		var OnLDiv = '<div id="halfOffDeal" style="width:350px;padding:30px;border:3px solid #424242;" class="fadeUp"><a href="#" onClick="closeFadeUp(\'jQ\')" id="fadeClose"><img src="/anf/images/buttons/B-fadeupClose.gif" /></a><p class="cen mrgnTb txtColorNorm">Offer valid on all redlined merchandise offered for sale in Abercrombie stores located in North America, excluding the following: the Flagship store on 5th Avenue in New York, Mall at Millenia in Orlando FL, Fashion Show in Las Vegas NV, South Street Seaport in New York NY, The Forum at Caesar\'s in Las Vegas NV, Aventura in Aventura FL, Water Tower in Chicago IL, Faneuil Hall in Boston MA, San Francisco Centre in San Francisco CA, Florida Mall in Orlando FL, Ala Moana in Honolulu HI, The Grove at Farmers Market in Los Angeles CA, and all Abercrombie outlet stores.  Not valid on previous purchases or gift card purchases.  Restrictions on bulk purchases may apply.  Not redeemable for cash or store credit.  Not applicable with employee discount.  Other restrictions may apply.</p></div>';
		$("#editMode").after(OnLDiv);
	}	
	function openPrivacyPolicy(){
		var url = "/anf/privacy_policy.html";
		if(readCookie('myStore') == '11306'){
			url = "/anf/privacy_policy_ca.html";
		}else if(readCookie('myStore') == '12406') {
			url = "/anf/privacy_policy_uk.html";
		}
		window.open(url,'privacy','scrollbars=yes,width=460,height=460');
	}	
	function entryfades(){
		var exist = false;		
		if(nvp_get('email') != 'noval'){ jEmailLink(); exist = true; }
		if(nvp_get('contact') == 'true'){ contactUsFadeUp(); exist = true; }
		if(nvp_get('privacy') == 'true'){ openPrivacyPolicy(); }
		if(nvp_get('investors') == 'true'){
			window.open('/anf/lifestyles/html/investorrelations.html','investor','toolbar=yes,status=yes,scrollbars=yes,resizable=yes,width=750,height=600');
		}
		if(nvp_get('casting') == 'true'){
			window.open('/anf/lifestyles/html/casting.html','casting', 'toolbar=no,menubar=no,status=no,scrollbars=no,resizable=no,width=860px,height=484px');
		}
		return exist;
	}
	function setTxtColor(){
		if($("#gutterField").attr('value')==CONSTANTS.ML_PLEASE_ENTER_ADDR || $("#gutterField").attr('value')==HPAGE.ML_HEADER){
			$("#gutterField").attr('value','');
		}
		$("#gutterField").css('color','#EBE9E0');
	}
	addEvent(window, "load", init);
}
function validateGutterMlInput(page){
	var responseDiv = 'response';
	var f = document.forms.MailingListGutter;
	var emailValue = f.email.value;
	if (!IsEmailValid(emailValue)){
		$("#gutterField").attr('value',CONSTANTS.ML_PLEASE_ENTER_ADDR);
		$("#gutterField").css('color','#ad3232');
	}else{
		var params = {
			'aid' : f.aid.value,
			'sub' : f.sub.value,
			'unsub' : f.unsub.value,
			'resub' : f.resub.value,
			'a' : f.a.value,
			'storeId' : f.storeId.value,
			'catalogId' : f.catalogId.value,
			'languageId' : f.languageId.value,
			'URL' : f.URL.value,
			'email' : f.email.value
		}
		
		$.ajax({
			url: "/webapp/wcs/stores/servlet/MailSubscription",
			global: false,
			type: "POST",
			data: params,
			dataType: "xml",
			success: function(xml){
				var status = xml.getElementsByTagName('mail_status')[0].firstChild.nodeValue;
				var msg = $(xml).find('response').text();
				function trimWs(stringToTrim){
					stringToTrim = stringToTrim.replace(/\s+$/,"");
					return stringToTrim.replace(/^\s+/,"");
				}
				$("#gutterField").css('color','#EBE9E0');
				$("#gutterField").attr('value',"Thank you, your email has been added");
			}
		});
	}
}



/**START ANF GLOBAL FUNCTIONS**/
rnd.today=new Date();
rnd.seed=rnd.today.getTime();
function rnd(){
	rnd.seed = (rnd.seed*9301+49297) % 233280;
	return rnd.seed/(233280.0);
}
function rand(number){return Math.ceil(rnd()*number);}
String.prototype.trim = function(){ return this.replace(/^\s+|\s+$/g, ''); };
var navPath = "/anf/images/nav/SUM_09c/";
function rollToggle(el){
	if(el.src){el.src = el.src.indexOf('on') > -1 ? el.src.replace('on','off') : el.src.indexOf('off') > -1 ? el.src.replace('off','on') : el.src;}
}
function nvp_struct(){
		var args = nvp_struct.arguments;
		this.nvp_qvpair = args[0];
		this.nvp_var = args[1];
		this.nvp_value = args[2];
}
var nvp_array = new Array;
function nvp_parse(){
	var querystring = location.search; nvp = querystring.indexOf('&'); searchstring = "true"; prev_nvp = 1; x = 0;
	do {
	if (nvp == -1){nvp = querystring.length; searchstring = "false";}
	var nvp_qvpair = querystring.substring(prev_nvp, nvp); nvp_var = nvp_qvpair.substring(0, nvp_qvpair.indexOf('=')); nvp_value = nvp_qvpair.substring(nvp_qvpair.indexOf('=')+1);
	nvp_array[x] = new nvp_struct(nvp_qvpair,nvp_var,nvp_value); querystring = querystring.substring(nvp + 1,querystring.length);
	if(querystring == null){searchstring = "false"} else {var prev_nvp = 0;		nvp = querystring.indexOf('&');		x++;}
	} while (searchstring == "true")
}
function nvp_get(){
	var args = nvp_get.arguments; nvpsearch = args[0]; nvpvalue = "noval"; nvp_length = nvp_array.length;
	for (var x = 0; x != nvp_length; x++){
		if(nvp_array[x].nvp_var == nvpsearch){nvpvalue = nvp_array[x].nvp_value};
	}
	return nvpvalue;
}
var hostName = location.host;
var serverHostname = 'http://'+hostName;
var globalStoreId = readCookie('myStore');

function getTopNavLink(){
	var args = getTopNavLink.arguments;
	if(typeof(args[0]) == 'string') window.location = args[0];
	else if (typeof(args[0]) == 'function')args[0]()
}

var xmlDoc = null;
var addItem = false;
function getContents(http_request, type){
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
        	xmlDoc = http_request.responseXML;
        	makeCart(type);
        } else {
        }
    } else {
    }
}
function hideAdd(){
	if (addItem){addItem = false;}
}
function limitChars(fe, num){fe.value = fe.value.slice(0, num);}
function IsEmailValid(eml){
    var test = eml;
    var lAt = test.indexOf("@")
    var lDot = test.lastIndexOf(".")
    //Checks over 5: x@x.x
    if ( test.length <5 || lAt <= 0 || lAt >= lDot - 1 || lDot >= test.length) {                
        return false;
    }else{
    	if(filter(test)){
    		return true;
        }else{
        	return false;
        }
    }
}
function filter(address){		
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return filter.test(address);
}
function jEmailLink(){
	setupGenFade("mailingListTopNavContent");
	if(nvp_get('email') != 'noval') document.forms.MailingList.email.value = nvp_get('email');
}
function ajaxCall(url, params, cb, m, rt, as) {
	this.url = url;
	this.parameters = params;
	this.callback = cb;
	this.method = m ? m : 'get';
	this.responseType = rt ? rt : 'text/xml';
	this.async = as ? as : true;
	this.response = null;
}
ajaxCall.prototype.parseForm = function(form){
	var formObj = null;
	if(typeof(form) == 'string'){
		if(document.forms[form]) formObj = document.forms[form]
		else if(document.getElementById(form)) formObj = document.getElementById(form)
	}else if (typeof(form) == 'object') formObj = form

	if(!formObj) return
}
ajaxCall.prototype.makeRequest = function(){
	var urlString = this.url;
	if(this.parameters){
		urlString += '?'
		for(p in this.parameters) urlString += p + '=' + this.parameters[p] + '&';
	}
	if (window.XMLHttpRequest) { 
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) 
			http_request.overrideMimeType(this.responseType);
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) return false;
	var ajaxObj = this;
	http_request.onreadystatechange = function() {ajaxObj.getContents(http_request)};
	http_request.open(this.method, urlString, this.async);
	http_request.send('');
}
ajaxCall.prototype.getContents = function(http_request){
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
        	this.response = http_request.responseText;
        	this.callback(http_request)       	
        } else {
        }
    } else {
    }
}
function addEvent(elm, evType, fn, useCapture){
	if(elm.addEventListener){
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}else if(elm.attachEvent){
			var r = elm.attachEvent('on' + evType, fn);
			//EventCache.add(elm, evType, fn);
			return r;
	}else{
			elm['on' + evType] = fn;
	}
}
	//=======FADING TOUTS=======================================
   (function ($) {
        $.fn.cross = function (options) {
            return this.each(function (i) { 
                var $$ = $(this);
                var target = $$.css('backgroundImage').replace(/^url|[\(\)'"]/g, '');
                $$.wrap('<span style="position: relative;"></span>')
                    .parent()                    
                    .prepend('<img>')
                    .find(':first-child')
                    .attr('src', target);
                if ($.browser.msie && $.browser.version < 8) {
                    $$.css({
                        'position' : 'absolute', 
                        'left' : 0,
                        'background' : '',
                        'top' : '0'
                    });
                } else if ($.browser.msie && $.browser.version == 8) {
                    $$.css({
                        'position' : 'absolute', 
                        'left' : 0,
                        'background' : '',
                        'top' : '-111px'
                    });
                } else if ($.browser.mozilla || $.browser.msie) {
                    $$.css({
                        'position' : 'absolute', 
                        'left' : 0,
                        'background' : '',
                        'top' : this.offsetTop
                    });
                } else { // Safari
                    $$.css({
                        'position' : 'absolute', 
                        'left' : 0,
                        'background' : ''
                    });
                }
                $$.hover(function () {
                    $$.stop().animate({
                        opacity: 0
                    }, 250);
                }, function () {
                    $$.stop().animate({
                        opacity: 1
                    }, 250);
                });
            });
        };        
    })(jQuery);
    $(window).bind('load', function () {
        $('img.fade').cross();
    });
   