// if the cookie isn't empty
// test the cookies add code for direction of the site pages.
function parseQueryString (str) {
  str = str ? str : location.search;
  var query = str.charAt(0) == '?' ? str.substring(1) : str;
  var args = new Object();
  if (query) {
    var fields = query.split('&');
    for (var f = 0; f < fields.length; f++) {
      var field = fields[f].split('=');
      args[unescape(field[0].replace(/\+/g, ' '))] = unescape(field[1].replace(/\+/g, ' '));
    }
  }
  return args;
}

function checkCookies(){
	var args_array = parseQueryString ();
	var auto = 1; //default attempt to load based on cookies
	for (var var_name in args_array)
	{
		if (var_name == "auto")
   			auto = args_array[var_name];
	}
	if (auto != 0) //look for cookie info
	{
		if (getCookie('countryId') && getCookie('langId') && getCookie('exId'))
		{
			goLive(getCookie('countryId'), getCookie('langId'), getCookie('exId'));
		}
	}
}
//checkCookies();

function setCountryLang(cId,lId){
	var now = new Date();
	fixDate(now);
	now.setTime(now.getTime() + (30 * 24 * 60 * 60 * 1000));
	deleteCookie('countryId');
	deleteCookie('langId');
	SetCookie("countryId", cId, now, "", "dell.com");
	SetCookie("langId", lId, now, "", "dell.com");
	              
	var url = "http://www.dell.com/content/topics/global.aspx/corp/careers/welcome/default?c=" + cId + "&l=" + lId + "&s=corp";
	if (lId == 'en')
	{
		switch(cId){
			case "ar": case "br": case "cl": case "cn": case "jp": case "at": case "fr": case "de": case "ma": case "pt": case "sk": case "es":
				url += "&cs=en"; break;
			case "id": case "ph": case "vn": //Indonesia, Philippines, Vietnam
				url = "http://www1.ap.dell.com/content/topics/global.aspx/corp/careers/welcome/default?c=ap&l=en&s=corp&cs=" + cId;
				break;
		}
	}
	if ( (lId == 'jp') && (cId == 'cn') )
	{
		url = "http://www1.ap.dell.com/content/topics/global.aspx/corp/careers/welcome/default?c=cn&cs=jp&l=en&s=corp";
	}

	location.href = url;
}

function setExperience(exId){
	deleteCookie('exId');

	var now = new Date();
	fixDate(now);
	now.setTime(now.getTime() + (30 * 24 * 60 * 60 * 1000));
	SetCookie("exId", exId, now, "", "dell.com");
	goLive(getCookie('countryId'), getCookie('langId'), exId);
}

function goLive(cId,lId,exId){
	var url = "";
	var urlA = "http://www.dell.com/content/topics/global.aspx/corp/careers/welcome/default?c=" + cId + "&l=" + lId + "&s=corp";
	var urlB = "http://www.dell.com/content/topics/global.aspx/corp/careers/studentprograms/default?c=" + cId + "&l=" + lId + "&s=corp";
	
	switch (exId)
	{
		case "1":
			url = urlA;
			break;
		case "2":
			url = urlB;
			break;
		default:	url = urlA;
	}
	if (lId == 'en')
	{
		switch(cId){
			//multi-language countries, need to apply EN flag
			case "ar": case "br": case "cl": case "cn": case "jp": case "at": case "fr": case "de": case "ma": case "pt": case "sk": case "es":
				url += "&cs=en";
				break;

			case "id": case "ph": case "vn": //Indonesia, Philippines, Vietnam
				switch (exId)
				{
					case "1":
						url = "http://www1.ap.dell.com/content/topics/global.aspx/corp/careers/welcome/default?c=ap&cs=" + cId + "&l=en&s=corp";
						break;
					case "2":
						url = "http://www1.ap.dell.com/content/topics/global.aspx/corp/careers/studentprograms/default?c=ap&cs=" + cId + "&l=en&s=corp";
						break;
					default:	url = "http://www1.ap.dell.com/content/topics/global.aspx/corp/careers/welcome/default?c=ap&cs=" + cId + "&l=en&s=corp";
				}
				break;
		}
	}
	if ( (lId == 'jp') && (cId == 'cn') )
	{
		url = "http://www1.ap.dell.com/content/topics/global.aspx/corp/careers/welcome/default?c=cn&cs=jp&l=en&s=corp";
	}

	location.href = url;
}

function reSetAll(){
  deleteCookie('countryId');
 deleteCookie('langId');
	deleteCookie('exId');
}

/*
   name - name of the cookie
   value - value of the cookie
   [expires] - expiration date of the cookie
     (defaults to end of current session)
   [domain] - domain for which the cookie is valid
     (defaults to domain of calling document)
*/

function setCookieOLD(name, value, expires) {
  var curCookie = name + "=" + value +
      ((expires) ? "; expires=" + expires.toGMTString() : "");
      
  document.cookie = curCookie;
}

function SetCookie (name,value,expires,path,domain,secure) {
  document.cookie = name + "=" + escape (value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}


/*
  name - name of the desired cookie
  return string containing value of specified cookie or null
  if cookie does not exist
*/

function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}


/*
   name - name of the cookie
   [path] - path of the cookie (must be same as path used to create cookie)
   [domain] - domain of the cookie (must be same as domain used to
     create cookie)
   path and domain default if assigned null or omitted if no explicit
     argument proceeds
*/

function deleteCookie(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

// date - any instance of the Date object
// * hand all instances of the Date object to this function for "repairs"

function fixDate(date) {
  var base = new Date(0);
  var skew = base.getTime();
  if (skew > 0)
    date.setTime(date.getTime() - skew);
}


// -->