/**
 * General utility functions
 */





function createCookie(name,value,days){

	var expireTime = "";
	var date = new Date();
	
	if(days > 0){		
		date.setTime(date.getTime() + (days*24*60*60*1000));
		expireTime = date.toGMTString();
	}else{
		expireTime = "";
	}

	var cookie = name + "=" + value + ";";
	cookie +=	 " expires=" + expireTime + "; path=/";

	document.cookie = cookie;
}


function cookieExists(name){
	if(document.cookie == null) return false;
  
	/**
	 * If document.cookie is not null it will look like
	 * cookieName=cookieValue; cookieName=cookieValue;
	 */  
    
	var cookies = document.cookie.split(';');
  
	for(var i = 0; i < cookies.length;i++) {
		var cookie = cookies[i];
    
		/**
		 * Trim leading white space from the cookie name
		 */
         
		cookie = cookie.replace(/^\s*/g, "");

		/**
		 * If it is the correct cookie return true
		 */
    
		if(cookie.indexOf(name + "=") == 0) 
			return true;
	}
  
 	return false;
}





function readCookie(name){
	if(document.cookie == null) return null;


	/**
	 * If document.cookie is not null it will look like
	 * cookieName=cookieValue; cookieName=cookieValue;
	 */

	var cookies = document.cookie.split(';');

	for(var i = 0; i < cookies.length; i++){
		var cookie = cookies[i];
	    
	    /**
	     * Trim leading white space from the cookie name
	     */
	         
	    cookie = cookie.replace(/^\s*/g, "");
	    
	    
	    /**
	     * If it is the desired cookie return everything after the equal sign
	     */
	     
	     if(cookie.indexOf(name + "=") == 0)	
			return cookie.substring(name.length + 1, cookie.length);
	}
	
	return null;
}



function _addEventListener(attachTo, eventType, callbackFunction, useCapture){
	if(attachTo.addEventListener){

		/**********************************
		 * Standard
		 **********************************/
		attachTo.addEventListener(eventType, callbackFunction, useCapture);

	}else if (attachTo.attachEvent){

		/**********************************
		 * IE
		 **********************************/
		if(attachTo.attachEvent('on' + eventType, callbackFunction, useCapture));

	}
}


function _getXMLHttpRequest(){
	/**
	 * from developer.apple.com
	 */

	req = false;

    if(window.XMLHttpRequest) {
    	try {
			req = new XMLHttpRequest();
        }catch(e){
			req = false;
        }
    }else if(window.ActiveXObject){
       	try{
        	req = new ActiveXObject("Msxml2.XMLHTTP");
      	}catch(e){
        	try{
          		req = new ActiveXObject("Microsoft.XMLHTTP");
        	}catch(e){
          		req = false;
        	}
		}
    }
    
    return req;
}

