function getCookie(name) {
    
    var index = document.cookie.indexOf(name + "=");
    if (index == -1) return null;
    index = document.cookie.indexOf("=", index) + 1;
    var endstr = document.cookie.indexOf(";", index);
    if (endstr == -1) endstr = document.cookie.length;
    return unescape(document.cookie.substring(index, endstr));
}

function setCookie(name, value) {

    if (value != null) {
      document.cookie=name + "=" + escape(value) + ";"
    } else {
      delCookie(name);
    }

}

function delCookie(name) {
    document.cookie=name + "=dead;"
}

function updateCookie(name,item) {
    
    var cookie_dat = getCookie(name);
   
    if (cookie_dat != null) {
	    if (cookie_dat.length > 0) {
		cookie_dat = cookie_dat + "|" + item;
	    } else {
		cookie_dat = item;
	    }
    } else {
	    cookie_dat = item;
    }	    
   
    setCookie(name, cookie_dat);
}

function delitemCookie(name,item) {

    var cookie_dat = getCookie(name);
    
    if (cookie_dat == null) { 
			setCookie('<?=$programcode;?>_bookmarks', "dead");
    } else if (cookie_dat.indexOf("|") == -1) {
    	setCookie('<?=$programcode;?>_bookmarks', "dead");	
    } else {
    	var clean_dat = '';
    	
    	var split_cookie_dat = cookie_dat.split("|");
    	var i = 0;
      
    	while (i < split_cookie_dat.length) {
    		  
      		split_cookie_dat[i] = '' + split_cookie_dat[i];
      		item = '' + item;
            
      		if (split_cookie_dat[i] != item) {
      		    
           		clean_dat= clean_dat + split_cookie_dat[i];
           			if (i != (split_cookie_dat.length - 1)) {
                			clean_dat = clean_dat + "|";
           			}
      		}
      		i++;
    	}

    	setCookie(name, clean_dat);
    }	
}

function defineCookie(newData) {
    
	document.cookie="<?=$programcode;?>_bookmarks=;"
	
}

function test_set(obj) {

	var dat = getCookie('<?=$programcode;?>_bookmarks');
	
    if (dat == null) {
        dat = '';
    }    
    
	if (obj.checked == true && (dat.indexOf(obj.value + "|") == -1 || dat.indexOf("|" + obj.value + "|") == -1 || dat.indexOf("|" + obj.value) == -1)) {
		updateCookie('<?=$programcode;?>_bookmarks',obj.value);
	} else if(obj.checked == false) {
		delitemCookie('<?=$programcode;?>_bookmarks',obj.value);
	}	
}

function resetview(page) {
	document.location= page  + '&delete=1';
}

function bookmarkall(OnorOff) {
	
	var a = 0;
	var items = '';
	var count = document.dataform.bmrk.length;
	
	if (count) {
		while (a < count) {
			document.dataform.bmrk[a].checked = OnorOff;
	
			if (OnorOff == true) {
				updateCookie('<?=$programcode;?>_bookmarks',document.dataform.bmrk[a].value);
			} else {
				delitemCookie('<?=$programcode;?>_bookmarks',document.dataform.bmrk[a].value);
			}
		
			a++;
		}
	} else {
		document.dataform.bmrk.checked = OnorOff;
	
		if (OnorOff == true) {
			updateCookie('<?=$programcode;?>_bookmarks',document.dataform.bmrk.value);
		} else {
			delitemCookie('<?=$programcode;?>_bookmarks',document.dataform.bmrk.value);
		}	
	}	

		
}

function isin(objvalue) {
	
	var i = 0;
	
	var cookie_dat = getCookie('bookmarks');
		
		if (cookie_dat != null) {
			var split_cookie_dat = cookie_dat.split("|");
			  while (i < split_cookie_dat.length) {
	
      		if (split_cookie_dat[i] == objvalue) {
      			return true;
      		}	
      		i++;
    		}
		}
		
	return false;			
}

function marked() {
	
	var a = 0;
	var i = 0;
	var items = '';
	var test = document.dataform.bmrk;
	if (test != null) {
		var count = document.dataform.bmrk.length;
		var cookie_dat = getCookie('<?=$programcode;?>_bookmarks');
	  var split_cookie_dat = cookie_dat.split("|");
		
		if (count && cookie_dat != null) {
			while (a < count) {
			  
			  while (i < split_cookie_dat.length) {
	
      		if (split_cookie_dat[i] == document.dataform.bmrk[a].value) {
      			document.dataform.bmrk[a].checked = true;
      		}	
      		i++;
    		}
				i = 0;
				a++;
			}
		}	
	}	
}
