$('head').append('<link rel="stylesheet" href="/css/temp_header.css" type="text/css" />');

//set navigation variables
var data,loginInterval,termsWindow,results,name;
var static="";


document.write(''+
	'<div id="am_header" class="base_header">\n'+
		'<table id="header">\n'+
			'<tr>\n'+
				'<td id="header_top" colspan="2">\n'+
					'<div id="header_top_left">\n'+
						'<a href="http://' + env + '.arrownac.com"><div id="logo"></div></a>\n'+
						'<div id="region_business">\n'+
							'<span id="region">Americas</span><br />\n'+
							'<h2 id="business_group">Components</h2>\n'+
						'</div>\n'+
					'</div>\n'+
					'<div id="header_top_right">\n'+
						'<ul id="global_nav">\n'+
							'<li><a href="http://investor.arrow.com">Investors</a></li>\n'+
							'<li><a href="http://www.arrow.com/careers/">Careers</a></li>\n'+
							'<li><a href="http://www.arrow.com/office_locations/nac_office_locations.html">Offices</a></li>\n'+
							'<li><a href="http://' + env + '.arrownac.com/help/">Help</a></li>\n'+
							'<li><a href="http://' + env + '.arrownac.com/contact">Contact Us</a></li>\n'+
							'<li><a href="http://' + env + '.arrownac.com/about/">About Us</a></li>\n'+
							'<li><a href="http://www.arrow.com">arrow.com</a></li>\n'+
						'</ul>\n'+
					'<a href="#" id="cart">Cart <span id="cart_items"></span></a>\n'+
					'</div>\n'+
				'</td>\n'+
			'</tr>\n'+
			'<tr>\n'+
				'<td id="search_wrapper">\n'+
					'<div id="search_box">\n'+
						'<h3>Part Search</h3>\n'+
						'<form action="http://' + comAppEnvAlt + 'components.arrow.com/part/search/" method="post" id="frm_search" name="frm_search" base="http://' + comAppEnvAlt + 'components.arrow.com/part/search/">\n'+
							'<input type="text" name="search_token" id="search_token" size="32" placeholder="Part #, Manufacturer, or Keyword" />\n'+
							'<input type="hidden" name="region" value="na" />\n'+
							'<input type="hidden" name="lang" value="en" />\n'+
							'<a id="submit_search" class="button" href="#">Search</a>\n'+
							'<div class="options">\n'+
								'<input type="checkbox" id="in_stock" name="in_stock" /><label for="in_stock">In Stock</label>\n'+
								'<input type="checkbox" id="eu_rohs" name="eu_rohs" /><label for="eu_rohs">EU RoHS</label>\n'+
								'<input type="checkbox" id="china_rohs" name="china_rohs" /><label for="china_rohs">China RoHS</label>\n'+
								//'<span  id="search_assist">assist: <a id="ac_toggle" href="#">turn off</a><span>'+
							'</div>\n'+
						'</form>\n'+
					'</div>\n'+
				'</td>\n'+
				'<td id="nav_wrapper">\n'+
					'<div id="nav">\n'+
						'<ul>\n'+
							'<li><a href="http://' + env + '.arrownac.com">Home</a></li>\n'+
							'<li><a href="http://' + comAppEnvAlt + 'components.arrow.com/products/">Products</a></li>\n'+
							'<li><a href="http://' + env + '.arrownac.com/manufacturers/">Manufacturers</a></li>\n'+
							'<li><a href="http://' + env + '.arrownac.com/solutions-applications/">Markets</a></li>\n'+
							'<li><a href="http://' + env + '.arrownac.com/mktg/new-products/">New Products</a></li>\n'+
							'<li><a href="http://' + env + '.arrownac.com/services-tools/design/">Design</a></li>\n'+
							'<li><a href="http://' + env + '.arrownac.com/events-training/training/">Training/Events</a></li>\n'+
							'<li><a href="http://' + env + '.arrownac.com/services-tools/">Services</a></li>\n'+
						'</ul>\n'+
						'<div id="bkg_nav">&nbsp;</div>\n'+
					'</div>\n'+
					'<div id="sub_nav">\n'+
						'<div id="bom_content">\n'+
            						'<h5>BOM Upload</h5>\n'+
                    					'<a href="http://' + comAppEnvAlt + 'components.arrow.com/bom/bom_home.jsp" class="hdr_new_bom">Provide your BOM to see inventory and pricing</a>\n'+
        					'</div>\n'+
						'<div id="myarrow_nav">\n'+
							'<div id="login_content">\n'+
								'<h5>MyArrow&trade;<span> - Custom Pricing and Terms Online (<a href="http://' + env + '.arrownac.com/services-tools/my-arrow/">Learn More</a>)</span></h5>\n'+
								'<div id="login_options">\n'+
									'<a id="login_submit" class="button login_myarrow" href="#">Login to MyArrow</a>\n'+
								'<a href="http://' + comAppEnvAlt + 'components.arrow.com/userservice/Registration/NewUser" class="register_myarrow">Register</a> | <a id="forgot_password" href="#">Forgot Password?</a>\n'+
								'</div>\n'+
							'</div>\n'+
						'</div>\n'+
						'<a href="http://' + comAppEnvAlt + 'components.arrow.com/myarrow/video_tutorials/" id="video_tuts_link"></a>\n'+
						'<div id="bkg_sub_nav">&nbsp;</div>\n'+
					'</div>\n'+
				'</td>\n'+
			'</tr>\n'+
		'</table>\n'+
	'</div>\n'+
'');


$(document).ready(function(){

	function hasPlaceholderSupport() {
	  var input = document.createElement('input');
	  return ('placeholder' in input);
	}
	
   	/* TEXT BOX HINTS */
	$('input[type="text"][title]').focus(function() {
		if(hasPlaceholderSupport() && $(this).attr('placeholder')){return false;}
		if ($(this).val() == "" || $(this).val() == $(this).attr('title')){
			$(this).val("").removeClass("hinted");
		}
	}).blur(function() {
		if(hasPlaceholderSupport() && $(this).attr('placeholder')){return false;}
		if ($(this).val() == "") {
			$(this).val($(this).attr('title')).addClass("hinted");
		}
	}).filter(function() {
		if(hasPlaceholderSupport() && $(this).attr('placeholder')){return false;}
		if ($(this).val() == "" || $(this).val() == $(this).attr('title')){
			$(this).val($(this).attr('title')).addClass("hinted");
		}
	});
	/* END TEXT BOX HINTS */
	
	
	
	switch($.QueryString['loadAction']){
		case 'login':
			showLogin();
			break;
		case 'fgpw':
			showForgotPw();
			break;
		case 'cart':
			showCart();	
			break;
		default:
			break;
	}
	
	
	/*HANDLE PART SEARCH*/
	$('#search_token').keyup(function(){
		var o = $(this);
		o.parent('form').addSearchToken();
	});
	
	$('#submit_search').click(function(){
		$('#frm_search').submit();
		return false;
	});
	
	$('#frm_search').bind('submit', function(e){
		if($('#search_token').val() != $('#search_token').attr('title') && $('#search_token').val() != ""){
			$(this).addSearchToken();
			return true;
		}else{
			return false;
		}		
	});
	
	$('#retry_profile').live('click',function(){
		buildMyArrow();
		return false;
	});
	
	
	/* SET UP HEADER MODALS */
	$.extend($.modal.defaults, {
		escClose: false,
		containerId: 'modal_container',
		overlayClose:false,
		onClose: function (dialog) {
			dialog.container.fadeOut(100, function () {
				dialog.overlay.fadeOut(200, function(){
					$.modal.close(); // must call this!								   
				});
			});
		}
	});
	
	
	/* HANDLE LOGIN MODAL */
	$('.login_myarrow').live('click', function(){
		showLogin();
		return false;		
	});
	
	
	/* HANDLE LOGOUT MODAL */
	$('.logout_myarrow').live('click', function(){
		showLogout();
		return false;		
	});
	
	
	/* HANDLE CART MODAL */
	$('#cart').live('click', function(){
		showCart();
		return false;		
	});
	
	
	/* HANDLE FORGOT PASSWORD MODAL */
	$('#forgot_password').live('click', function(){
		showForgotPw();
		return false;		
	});
	
	
	/* INITIALIZE AUTO COMPLETE 
	var date = new Date();
	date.setTime(date.getTime()+(3*24*60*60*1000));
	var expires = "; expires="+date.toGMTString();
	var ac = $('#search_token').autocomplete({
	    serviceUrl: location.protocol + '//' + location.hostname + '/appservices/type?q=',
	    minChars:3,
	    delimiter: /(,|;)\s*'/,
	    maxHeight:400,
	    width:315,
	    zIndex: 9999,
	    deferRequestBy: 100,
	    params: { region:'na' },
	    onSelect: function(value, data){ $('#frm_search').submit()}
	  });
	  
	var ac_off = document.cookie.match ( '(^|;) ?' + 'ac_off' + '=([^;]*)(;|$)');
	if (ac_off) {
		ac.disable();
		$("#search_assist a").text("turn on");
	}
	$("#ac_box").live("click",function(e) {
		$("#ac_tab").slideDown();
		$(this).text("close"); 
		return false;
	});
	$("#ac_toggle").live("click",function(e) {
		if ($(this).text() == "turn off") {
			ac.disable();
			$(this).text("turn on");
			document.cookie = "ac_off=true"+expires+";path=/";
		} else {
			ac.enable(); 
			$(this).text("turn off");
			document.cookie = "ac_off=true;expires=Thu, 01-Jan-1970 00:00:01 GMT;path=/";
		} 
		return false;
	});
	
	*/
	
});

/*show login modal*/
function showLogin(){
	var src = "https://" + comAppEnvAlt + "components.arrow.com/login/";
	$.modal('<iframe id="modal_iframe" src="about:blank" width="940" height="500" frameBorder="0">', {
		containerId: 'cart_modal',
		onClose: function(dialog){
			clearInterval(loginInterval);
			getCartInfo();
			dialog.container.fadeOut(100, function () {
				dialog.overlay.fadeOut(200, function(){
					$.modal.close(); // must call this!
				});
			});
		},
		onOpen: function(dialog){
			checkLoginStatus();
			dialog.overlay.show();
			dialog.container.show();
			dialog.data.show();
			$('#modal_iframe').attr('src', src);
		}
	});
}

/*show cart modal*/
function showCart(){
	var src = "http://" + comAppEnvAlt + "components.arrow.com/scart/";
	$.modal('<iframe id="modal_iframe" src="about:blank" width="940" height="500" frameBorder="0">', {
		containerId: 'cart_modal',
		onClose: function(dialog){
			clearInterval(loginInterval);
			getCartInfo();
			dialog.container.fadeOut(100, function () {
				dialog.overlay.fadeOut(200, function(){
					$.modal.close(); // must call this!								   
				});
			});
		},
		onOpen: function(dialog){
			checkLoginStatus();
			dialog.overlay.show();
			dialog.container.show();
			dialog.data.show();
			$('#modal_iframe').attr('src', src);
		}
	});
}

/*show logout modal*/
function showLogout(){
	var src = "https://" + comAppEnvAlt + "components.arrow.com/login/logout.jsp";
	$.modal('<iframe id="modal_iframe" src="about:blank" width="940" height="500" frameBorder="0">', {
		containerId: 'cart_modal',
		closeHTML: "",
		onClose: function(dialog){
			clearInterval(loginInterval);
			getCartInfo();
			dialog.container.fadeOut(100, function () {
				dialog.overlay.fadeOut(200, function(){
					$.modal.close(); // must call this!	
				});
			});
		},
		onOpen: function(dialog){
			checkLoginStatus();
			dialog.overlay.show();
			dialog.container.show();
			dialog.data.show();
			$('#modal_iframe').attr('src', src);
		}
	});
}

/*show forgot password modal*/
function showForgotPw(){
	var src = "http://" + comAppEnvAlt + "components.arrow.com/userservice/Registration/ForgotPwd";
	$.modal('<iframe id="modal_iframe" src="about:blank" width="940" height="500" frameBorder="0">', {
		containerId: 'cart_modal',
		onClose: function(dialog){
			dialog.container.fadeOut(100, function () {
				dialog.overlay.fadeOut(200, function(){
					$.modal.close(); // must call this!								   
				});
			});
		},
		onOpen: function(dialog){
			dialog.overlay.show();
			dialog.container.show();
			dialog.data.show();
			$('#modal_iframe').attr('src', src);
		}
	});
}

/*CLOSE MODAL WINDOW ACROSS DOMAINS*/
function closexdmodal(){
	try{
		self.parent.$.modal.close();
	}catch(e){
		$('body').append('<iframe src="http://' + comAppEnvAlt + 'components.arrow.com/security/util/closemodal" width="0" height="0" frameBorder="0">');
		$('body').append('<iframe src="http://' + env + '.arrownac.com/security/util/closemodal" width="0" height="0" frameBorder="0">');
	}
}


/*HANDLE MYARROW CONTENT*/
function buildMyArrow(){
	var login_content,bom_content;
	if(checkAuthentication()){
		var projectsNav = '';
		var ordersNav = '<li><a href="http://' + comAppEnvAlt + 'components.arrow.com/ordermanagement/order_listings.jsp">Orders</a></li>\n';
		var notificationsNav = '<li><a href="http://' + comAppEnvAlt + 'components.arrow.com/notifications/my_notifications.jsp">Notifications</a></li>\n';
		var forecastNav = '';
		var programmingNav = '';
		var complianceNav = '<li><a href="http://' + comAppEnvAlt + 'components.arrow.com/tradecompliance/tc_search.jsp">Compliance</a></li>\n';
		
		login_content =  ''+
		'<h5>MyArrow&trade; - Hello, ' + name + '<span> (<a href="#" id="btn_logout" class="logout_myarrow">Log Out</a>)</span></h5>\n'+
		'<ul id="user_nav">\n' + 
			'Loading Your Navigation...\n' +
		'</ul>\n';
		
		bom_content = ''+ 
        '<h5>BOM Upload</h5>\n'+
		'<a id="myBoms_link" href="http://' + comAppEnvAlt + 'components.arrow.com/bom/private/my_boms.jsp">Create, Save, and Manage BOMs</a>\n';
		
		$('#bom_content').html(bom_content);
		$('#login_content').html(login_content);
		$('#search_box h3').html('MyArrow&trade; Part Search');

		$.ajax({
			type:'GET',
			dataType:'jsonp',
			jsonp:'callbackfn',
			url:'http://' + comAppEnvAlt + 'components.arrow.com/userservice/getUserProfile?fmt=json',
			error:function(){
				$('#user_nav').html('Error retrieving your MyArrow Navigation. <a href="#" style="text-decoration:underline;" id="retry_profile">Try Again</a>');
			},
			success:function(data){
				var appitem,appname,appshow;
				for(var i = 0;i<data.UserProfile.apps.length;i++){
					appitem = data.UserProfile.apps[i][1];
					appname = data.UserProfile.apps[i][1].applicationName;
					appshow = data.UserProfile.apps[i][1].appShowOnOff;
					
					if(appname == "Collaborator" && appshow == "Y"){
						forecastNav = '<li><a href="http://' + comAppEnvAlt + 'components.arrow.com/forecastresponse/my_forecasts.jsp">Forecasts</a></li>\n';
					}else if(appname == "Projects" && appshow == "Y"){
						projectsNav = '<li><a target="_blank" href="https://' + myarrowenv + '.arrownac.com/login/">Projects</a></li>';
					}
				}
				$('#user_nav').html(ordersNav + notificationsNav + forecastNav + programmingNav + complianceNav + projectsNav);
			},
			complete:function(){
				//do nothing	
			}
		});
	
	}else{
	
		login_content =  '' +
		'<h5>MyArrow&trade;<span> - Custom Pricing and Terms Online (<a href="http://'+ env+ '.arrownac.com/services-tools/my-arrow/">Learn More</a>)</span></h5>\n'+
		'<div id="login_options">\n'+
			'<a id="login_submit" class="button login_myarrow" href="#">Login to MyArrow</a>\n'+
			'<a href="http://' + comAppEnvAlt + 'components.arrow.com/userservice/Registration/NewUser" class="register_myarrow">Register</a> | <a id="forgot_password" href="#">Forgot Password?</a>\n'+
		'</div>\n';
		
		var workingBom = document.cookie.match ( '(^|;) ?' + 'p' + '=([^;]*)(;|$)'); //check for workingBom cookie

		if(workingBom){
			var wBomId = unescape(workingBom[2]);
			bom_content = ''+ 
			'<h5>BOM Upload</h5>\n'+
			'<div id="workingBOM">\n'+
			'<a class="left" href="http://' + comAppEnvAlt + 'components.arrow.com/bom/bom_summary.jsp?bomId=' + wBomId +'">Open Working BOM</a><a class="right" href="http://' + comAppEnvAlt + 'components.arrow.com/bom/bom_home.jsp">Upload New BOM</a>\n'+
			'</div>\n';
		}else{
			bom_content = ''+ 
			'<h5>BOM Upload</h5>\n'+
			'<a href="http://' + comAppEnvAlt + 'components.arrow.com/bom/bom_home.jsp">Provide your BOM to see inventory and pricing</a>\n';
		}
		
	    $('#bom_content').html(bom_content);
	    $('#login_content').html(login_content);
	    $('#search_box h3').html('Part Search');
	}
}


// Popup window for shopping cart and My Arrow Account login
function termsPopup(url) {
	termsWindow = window.open(url,'popUp','height=625,width=825,left=150,top=150,resizable=yes,scrollbars=yes,toolbar=yes,menubar=yes,location=yes,directories=no,status=yes')
}


/* DETECT LOGGING IN */
function checkLoginStatus(){
	//debugger;
	var status = checkAuthentication();
	loginInterval = setInterval(function(){
		if(checkAuthentication() != status){
			clearInterval(loginInterval);
			buildMyArrow();
		}
	}, 1000)
}


/* CHECK USER AUTHENTICATION */
function checkAuthentication(){
	results = document.cookie.match( '(^|;) ?' + 'i' + '=([^;]*)(;|$)');
	if (results){
	    var temp = new Array(); 
	    temp = results[2].split(',');
	    name = temp[0];
	    return true;
	}
	return false;
}

function getCartInfo(){
	$.ajax({
		type:'GET',
		dataType:'jsonp',
		jsonp:'callbackfn',
		url:'http://' + comAppEnvAlt + 'components.arrow.com/scart/getCartInfo?fmt=json',
		error:function(){
			//alert('Error retrieving cart info');
		},
		success:function(data){
			var cart_items = data.shoppingcartsummaryresponseresult.data[0].size;
			$('#cart_items').html("(" + cart_items + ")");
		}
	});
}

/* BUILD SEARCH TOKEN */
(function($) {
	$.fn.extend({
		addSearchToken:function(){
			URL_DELIMITER = "/";
			var o = $(this);
			var fAction = o.attr('base');
			var nonSplitToken = o.find('input:text',o).val();
			var sResult = fixSearchToken(nonSplitToken);
			fAction = fAction + sResult;
			o.attr('action', fAction);
			return o;
		}
	});
})(jQuery);


function fixSearchToken(input){
	var decodedNonSplitToken = input;
	try{
		decodedNonSplitToken = decodeURIComponent(input);
	}
	catch (err){}
	var subArray = decodedNonSplitToken.split(URL_DELIMITER);
	var combinedSearchToken = "";
	$.each(subArray, function(intIndex, objVal){
		if(intIndex > 0){
			combinedSearchToken += URL_DELIMITER + encodeURIComponent(objVal);
		}
		else{
			combinedSearchToken += encodeURIComponent(objVal);
		}
	});
	return combinedSearchToken;
}


/* GET QUERYSTRING VALUES */
(function($) {
    $.QueryString = (function(a) {
        if (a == "") return {};
        var b = {};
        for (var i = 0; i < a.length; ++i)
        {
            var p=a[i].split('=');
            if (p.length != 2) continue;
            b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
        }
        return b;
    })(window.location.search.substr(1).split('&'))
})(jQuery);
/* END GET QUERYSTRING VALUES */


	
buildMyArrow();
getCartInfo();

