function ittips_get_download_list()
{
 var name = "ittips_dl_list";
 var nameEQ = name + "=";
 var ca = document.cookie.split(';');
 for(var i=0;i < ca.length;i++) {
 var c = ca[i];
 while (c.charAt(0)==' ') c = c.substring(1,c.length);
 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
 }
 return "";
}


function ittips_clear_download_list()
{
 var name = "ittips_dl_list";
 var mydate = new Date(); 
	mydate.setTime(mydate.getTime() - 1); 
 document.cookie = name + "=; expires==" + mydate.toGMTString(); 
}


function ittips_add_download_list(value, expires, path, domain, secure )
{
 var name = "ittips_dl_list";
 var path = "/";
 
 if(value<=0) return;
 var result = ittips_get_download_list();
 result += "," + value;
 var today = new Date();
 today.setTime( today.getTime() );

 /*
 if the expires variable is set, make the correct
 expires time, the current script below will set
 it for x number of days, to make it for hours,
 delete * 24, for minutes, delete * 60 * 24
 */
 if ( expires )
 {
 expires = expires * 1000 * 60 * 60 * 24;
 }
 var expires_date = new Date( today.getTime() + expires );

 document.cookie = name + "=" + escape( result ) +
 ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
 ( ( path ) ? ";path=" + path : "" ) +
 ( ( domain ) ? ";domain=" + domain : "" ) +
 ( ( secure ) ? ";secure" : "" );
}


function ittips_remove_download_list(value, expires, path, domain, secure )
{
 var name = "ittips_dl_list";
 var path = "/";
 
 if(value<=0) return;
 var result = ittips_get_download_list().split(",");
 var nresult = "";
 for(var i=0;i < result.length;i++) {
 	var r = result[i];
	r = r.replace(/^\s+|\s+$/g,"");
	if(r != value+''){
		 nresult+= (nresult!=""?",":"") + r;
	}
 }
 var today = new Date();
 today.setTime( today.getTime() );

 /*
 if the expires variable is set, make the correct
 expires time, the current script below will set
 it for x number of days, to make it for hours,
 delete * 24, for minutes, delete * 60 * 24
 */
 if ( expires )
 {
 expires = expires * 1000 * 60 * 60 * 24;
 }
 var expires_date = new Date( today.getTime() + expires );

 document.cookie = name + "=" + escape( nresult ) +
 ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
 ( ( path ) ? ";path=" + path : "" ) +
 ( ( domain ) ? ";domain=" + domain : "" ) +
 ( ( secure ) ? ";secure" : "" );
}
/* selectable download */
function ittips_submitDownloadform(isDownloadAll){
    document.form_resource.is_download_all.value = isDownloadAll;
    document.form_resource.res_ids.value = ittips_getSelectedRes(document.form_resource.categoryId.value);
    document.form_resource.submit();
}

function ittips_res_set_cookie( name, value, expires, path, domain, secure ){
 var today = new Date();
 today.setTime( today.getTime() );
 /*
 if the expires variable is set, make the correct expires time, the current script below will set
 it for x number of days, to make it for hours, delete * 24, for minutes, delete * 60 * 24
 */
 if ( expires ) {
     expires = expires * 1000 * 60 * 60 * 24;
 }
 var expires_date = new Date( today.getTime() + expires );
 document.cookie = name + "=" + escape( value ) + ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + ( ( path ) ? ";path=" + path : "" ) + ( ( domain ) ? ";domain=" + domain : "" ) + ( ( secure ) ? ";secure" : "" );
}

function ittips_res_getCookie(name) {
 var nameEQ = name + "=";
 var ca = document.cookie.split(';');
 for(var i=0;i < ca.length;i++) {
     var c = ca[i];
     while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
 return ""; // total 8 bit
}

var resIdCheckMap = new Object;
function ittips_checkAllCheckbox(categoryId){
	get_cookie_checkmap = bas_URLDecode(ittips_res_getCookie('resIdCheckMap'));
	if(get_cookie_checkmap!='')
		resIdCheckMap = JSON.parse(bas_URLDecode(ittips_res_getCookie('resIdCheckMap')));
    var len = document.form_resource.res_dl.length;
    //var categoryId = $categoryId;
    if (len > 0) {  //check for single checkbox list or not
        for (var i = 0; i < len; i++) {
            var resId = document.form_resource.res_dl[i].value;
            var dataArr = new Array;
            var isChecked = "FALSE";
            if (document.form_resource.res_dl[i].checked) {
                isChecked = "TRUE";
            }
            dataArr[0] = categoryId;
            dataArr[1] = resId;
            dataArr[2] = isChecked;
            var key = categoryId + "_" + resId;
            resIdCheckMap[key] = dataArr;
        }
    } else {
        var resId = document.form_resource.res_dl.value;
        var dataArr = new Array;
        var isChecked = "FALSE";
        if (document.form_resource.res_dl.checked) {
            isChecked = "TRUE";
        }
        dataArr[0] = categoryId;
        dataArr[1] = resId;
        dataArr[2] = isChecked;
        var key = categoryId + "_" + resId;
        resIdCheckMap[key] = dataArr;
    }
    var resIdCheckMapStr = JSON.stringify(resIdCheckMap);
    //alert("before set cookid, len=" + len + ", resIdCheckMapStr=" + resIdCheckMapStr);
    ittips_res_set_cookie('resIdCheckMap',resIdCheckMapStr,'','/','','');
}
function ittips_setAllCheckBox(categoryId){
	get_cookie_checkmap = bas_URLDecode(ittips_res_getCookie('resIdCheckMap'));
	if(get_cookie_checkmap!='')
		resIdCheckMap = JSON.parse(bas_URLDecode(ittips_res_getCookie('resIdCheckMap')));
	else return ;
	
	var len = document.form_resource.res_dl.length;
	if (len > 0) { 
		for (var i = 0; i < len; i++) {
            var resId = document.form_resource.res_dl[i].value;
            var dataArr = new Array;
            var key = categoryId + "_" + resId;
            dataArr = resIdCheckMap[key];
            if(typeof(dataArr)!="undefined" && dataArr[2]=="TRUE"){
            	document.form_resource.res_dl[i].checked = true;
            } else {
            	document.form_resource.res_dl[i].checked = false;	
            }
        }
	} else {
		var resId = document.form_resource.res_dl.value;
		var dataArr = new Array;
		var key = categoryId + "_" + resId;
        dataArr = resIdCheckMap[key];
        if(typeof(dataArr)!="undefined" && dataArr[2]=="TRUE"){
        	document.form_resource.res_dl.checked = true;
        } else {
        	document.form_resource.res_dl.checked = false;	
        }
	}
}
function ittips_getSelectedRes(categoryId){
	get_cookie_checkmap = bas_URLDecode(ittips_res_getCookie('resIdCheckMap'));
	if(get_cookie_checkmap!='')
		resIdCheckMap = JSON.parse(bas_URLDecode(ittips_res_getCookie('resIdCheckMap')));
	else return "";
	selectResId = "";
	for(var key in resIdCheckMap){
		var dataArr = new Array;
		dataArr = resIdCheckMap[key];
        if(typeof(dataArr)!="undefined" && dataArr[0]==categoryId){
            if(dataArr[2]=="TRUE"){
            	selectResId += (selectResId!=""?"|":"") + dataArr[1];
            }
        }
    }
	return selectResId;
}