$(document).ready(function(){
    $(document).keydown(function(event){
  	if(event.keyCode==13){
                document.getElementById("gosearch").click();
                return false;
        }
    });
});


    /*search campus near zipcode*/
    function zipcodemap(zipcode){
    	var html = '<table border="0" cellpadding="0" cellspacing="0">';
    	html += '<tr><th width="154"><h5>Location</h5></th>';
    	html += '<th width="146"><h5>Address</h5></th>';
    	html += '<th width="177"><h5>Programs Offered</h5></th>';
    	html += '<th width="240"><h5>Events</h5></th></tr>';
						
    	var classStr = "";
    	var state = "";
    	var jsonArr = new Array();
    	var sortArr = new Array();
    	$.getJSON("http://apps.devry.com/zip_code/app/distance_json_dt.php?zipcode="+zipcode+"&ajaxcall=?", function(data){
		  	$.each(data.CampusResults.Campus, function(i,item){
		  		if(i==0)
		  	    	state = item.State;
		  	    var campus = new jsonCampus();
		  	    campus.Location = item.Location;
		  	    campus.Campus_Url = item.Campus_Url;
		  	    campus.Distance = item.Distance;
		  	    campus.Address1 = item.Address1;
		  	    campus.Address2 = item.Address2;
		  	    campus.City = item.City;
		  	    campus.State = item.State;
		  	    campus.Zipcode = item.Zipcode;
		  	    campus.Phone = item.Phone;
		  	    campus.longitude = item.Longitude;
		  	    campus.latitude = item.Latitude;
		  	    jsonArr[jsonArr.length] = campus;
		  	});
		  	//sortArr = sortCampus(jsonArr);
		  	sortArr = jsonArr;
		  	var sortlen = sortArr.length;
		  	for(var m=0;m<sortlen;++m){
		  		var campusData = sortArr[m];
		  		var campusAddress = campusData.Address1 + " " + campusData.City + " " + campusData.State + " " + campusData.Zipcode;
		  		var campusTracking = searchTracking(campusData.Location); //return type campusInfo
		  		if(m%2==0)
					classStr = "odd";
				else
					classStr = "";
				html += '<tr class="'+classStr+'"><td><a href="'+campusData.Campus_Url+'"  class="name">'+campusData.Location+'</a>';
				html += '<label>Distance: '+campusData.Distance+' miles<br />';
			    html += '<a href="javascript:openMap(\''+campusData.longitude+'\',\''+campusData.latitude+'\',\''+campusAddress+'\')"  onclick="dcsMultiTrack(\'DCS.dcsuri\', \''+campusTracking.TrackingDscuriMapIt+'\', \'WT.ti\', \''+campusTracking.TrackingDscuriMapIt+'\')"><label>&raquo;</label> Map it</a></label>';
				
				html += '<td><label class="address">'+campusData.Address1+'<br />';
				if(campusData.Address2 != '')
					html += campusData.Address2+'<br />';
				html += campusData.City+', '+campusData.State+' '+campusData.Zipcode+'<br />';
				html += 'Phone:&nbsp;'+campusData.Phone+'</label></td>';
				
				html += '<td><a href="search_programs_location.jsp?state='+stateChange(campusData.State)+'&location='+campusData.Location+'" onclick="dcsMultiTrack(\'DCS.dcsuri\', \''+campusTracking.TrackingDscuriViewAllProgram+'\', \'WT.ti\', \''+campusTracking.TrackingWTtiViewAllProgram+'\')"><label>&raquo;</label> View All Programs</a></td>';
				
				var len = campusArr.length;
				var campusflag = false;
				/*get campus info from campusArr */
				for(var i=0;i<len;++i){
					var addr = campusArr[i];
					if(campusData.Location == addr.campusName){
					    campusflag = true;
						var events = addr.eventArr;
						var eventlen = events.length;
						
						if(eventlen > 0){
						    //read event of campus
						    html += '<td>';
							for(var i=0;i<eventlen;++i){
								var event = events[i];
								if(i<3){
									html += '<a href="'+event.eventUrl+'"  linkType="inLightBox"  onclick="dcsMultiTrack(\'DCS.dcsuri\', \''+event.eventTrackingDscuri+'\', \'WT.ti\', \''+event.eventTrackingWTti+'\')"><label>&raquo;</label>';
									html += event.eventTitle+'</a><br>';
								}else{
									break;
								}
							}
							html += '</td>';
						}else{
							html += '<td><a href="https://www.devry2.com/Landing38/index.html?vc=160053" target="_blank"  onclick="dcsMultiTrack(\'DCS.dcsuri\', \''+addr.TrackingDscuriEvent+'\', \'WT.ti\', \''+addr.TrackingWTtiEvent+'\')"><label>&raquo;</label> Schedule a Campus Tour</a></td>';
						}
						break;
					}
			    }
			    if(campusflag == false){
			    	html += '<td><a href="https://www.devry2.com/Landing38/index.html?vc=160053" target="_blank"><label>&raquo;</label> Schedule a Campus Tour</a></td>';
		  		}
		  	}
		  	
		  	stateHead(state,zipcode);
		  	if(state != ""){
		  		$("#content_container_nosidebar").html(html);
		  		bindA1();
				locationSearchMap(zipcode);
			}else{
				$("#map").html("");
				$("#content_container_nosidebar").html("");
			}
		});
		
    }
    
    /*show the googlemap and marker campus on map*/
    function locationSearchMap(address){
    	if(address == 'Washington'){
    		address = '98104';
    	}
        var geocoder = new GClientGeocoder();
    	var len = campusArr.length;
    	map = new GMap2(document.getElementById("map"));
    	map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
    	geocoder.getLatLng(address,
    		function(point) {
      			if (!point) {
        			alert(address + " not found");
      			} else {
        			map.setCenter(point, 5);
        			var marker = new GMarker(point);
        			map.addOverlay(marker);
        			
    				for(var i=0;i<len;++i){
    					var addr = campusArr[i];
    					var address1_str = addr.address1;
    					if(address1_str.length>30){
    						address1_str = address1_str.substring(0,30);
    					}
    					var point2 = new GLatLng(addr.latitude,addr.longitude);
    					var html = '<div style="height:60px">'+addr.campusName+'<br>';
				  		html += address1_str + '<br>';
				  		html += addr.city + ', ';
				  		html += addr.state + ' ';
				  		html += addr.zipcode + '<br>';
				  		html += '<a href="'+addr.campusUrl+'" target="_blank">View Location Details</a></div>';
				  		map.addOverlay(createMarker(point2,icon,html));
    				}
    				var point2 = new GLatLng('51.055149','-114.062438');
    				var html = '<div style="height:60px">Calgary Campus<br>';
    				html += '2700 3rd Ave. SE<br>';
    				html += 'Calgary, Alberta<br>';
    				html += 'T2A 7W4<br>';
				  	html += '<a href="http://www.devry.ca/" target="_blank">View Location Details</a></div>';
				  	map.addOverlay(createMarker(point2,icon,html));
      			}
      		}
    	);
    	setTimeout(function(){document.getElementById("copyright").style.width="290px";},"500");
    }
    
    /* open a new window show campus map */
    function openMap(longitude,latitude,campusAddress){
    	document.getElementById("longitudeHid").value = longitude;
    	document.getElementById("latitudeHid").value = latitude;
    	document.getElementById("campusAddress").value = campusAddress;
    	//window.open("map_it.jsp",'Sample','fullscreen=3,width=650,height=340,left=150,top=50');
    	window.open("getDirection.jsp",'Sample','fullscreen=3,width=1000,height=550,left=10,top=50,scrollbars=yes');
    	
    	//var url = "http://www.google.com/maps?source=uds&daddr="+campusAddress;
    	//window.open(url);
    	
    }
    
    /*set selected for select*/
    function stateSelected(state){
    	if(state!=""){
			$("#stateselect").attr("value",state.toLowerCase());
			__setSelectValue('test1');
		}
    }
    
    
    /*search campus according state*/
    function searchState(){
		var stateselect = $("#stateselect option:selected");
		var stateName = stateselect.attr("value");
		var stateUrl = stateselect.attr("stateUrl");
    	var zipcode = $("#zipcode").attr("value");
   		var zippatrn=/^[0-9]{5}$/;
    	var error = "";
    	var trackingStr = 'DeVry.edu: Search Results';
    	if(stateName==''){
    		if(Trim(zipcode)=='Enter US ZIP'||Trim(zipcode)==''){
    			error = "Please enter US Zip or select a state";
    		}else{
    			if (!zippatrn.exec(zipcode)){
    				//error = "please enter a right zipcode";
    				error = "Please check U.S. ZIP code. Use 5 digits without spaces.";
    			}else{
    				$("#errormessage").html("");
    				trackingStr = 'DeVry.edu: Zipcode Search ='+ zipcode;
    				dcsMultiTrack('DCS.dcsuri', trackingStr, 'WT.ti', trackingStr);
    				zipcodemap(zipcode);
    				return false;
    			}
    		}
    	}else{
    		if(Trim(zipcode)!='Enter US ZIP'&&Trim(zipcode)!=''){
    			error = "Please enter either U.S. ZIP code, or select a state.";
    		}else{
    			trackingStr = 'DeVry.edu: State Search ='+ stateName;
    			dcsMultiTrack('DCS.dcsuri', trackingStr, 'WT.ti', trackingStr);
    			setCookie();
    			window.location = stateUrl;
    			return false;
    		}
    	}
    	$("#errormessage").html(error);
	}
	
	function stateHead(stateName,zipcode){
		
	    var stateFullName = stateChange(stateName);
	    var stateHeadHtml = "";
		if(stateFullName != "none"){
			if(stateFullName == "new york"){
				document.title = "Nearest DeVry College of New York Locations";
				stateHeadHtml = '<h1>DeVry College of New York <br />near '+zipcode+'</h1>';
				stateHeadHtml += '<p>Both DeVry College of New York locations are designed to be convenient and accessible. Each one offers a variety of degree programs, access to educational resources, and a comfortable learning environment. Select from below to find out more information about one near you.</p>';
				dcsMultiTrack('DCS.dcsuri', 'DeVry.edu: Locations-Programs by Location - Results - NY', 'WT.ti', 'DeVry.edu: Locations-Programs by Location - Results - NY');
			}else{
				if(stateFullName == "texas"){
					dcsMultiTrack('DCS.dcsuri', 'DeVry.edu: Locations-Programs by Location - Results - TX', 'WT.ti', 'DeVry.edu: Locations-Programs by Location - Results - TX');
				}
				document.title = "Nearest DeVry University Locations";
				stateHeadHtml = '<h1>DeVry University near '+zipcode+'</h1>';
				stateHeadHtml += '<p>All DeVry University locations are designed to be convenient and accessible. Each one offers a variety of degree programs, access to educational resources, and a comfortable learning environment. Select from below to find out more information about one near you. Almost all of our degree programs are also offered online so you can study from anywhere at anytime.</p>';
				stateHeadHtml += '<p><label>>></label> Learn more about our <a href="../online-options/online-programs.jsp">online degree programs</a></p>';
			}
		}else{
			document.title = "Devry University Locations - Distance Learning";
			stateHeadHtml = '<h1>Explore DeVry University Online</h1>';
			stateHeadHtml += '<p>Your ZIP code was not found in our database. Please try again or consider taking an ';
			stateHeadHtml += '<a href="http://www.devry.edu/whydevry/online_options.jsp">online</a> degree program.';
			stateHeadHtml += 'Get the same great education, faculty, and experiences as you would in the classroom, but with the flexibility and convenience of distance learning.</p>';
		}
		$("#stateLabel").html("Search Results");
		$("#stateHead").html(stateHeadHtml);
		sIFR.replace(metaBold, {
			selector: '#stateHead h1'
			,wmode: 'transparent'
			,css: [ '.sIFR-root { color:#FFFFFF;}' ]
		});
	}
	
	function setZipcode(zipcode){
		document.getElementById("zipcode").value = zipcode;
	}
	
	function searchTracking(campusName){
		var len = campusArr.length;
		for(var i=0;i<len;++i){
			if(campusName == campusArr[i].campusName){
				return campusArr[i];
			}
		}
		return new campusInfo();
	}
	/*set cookie of search location*/
	function setCookie(){
		var then = new Date();
		then.setTime(then.getTime() + 1*360000);
		document.cookie = "search location=1;expires=" + then.toGMTString();
	}
	
	/*delete cookie of search location*/
	function moveCookie(){
		document.cookie = "search location=;expires=Fri, 02-Jan-1970 00:00:00 GMT";
	}
	
	/*get cookie of search location*/
	function getCookie(){
		var cookieStr = new String(document.cookie);
		var cookieHeader = "search location=";
		var index = cookieStr.indexOf(cookieHeader);
		if(index != -1){
			return 1;
		}else{
			return 0;
		}	
	}	
	