//----------------JAVASCRIPT FUNCTION-----------------//
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

/**
*
*  Base64 encode / decode
*  http://www.webtoolkit.info/
*
**/
 
var Base64 = {
 
	// private property
	_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
 
	// public method for encoding
	encode : function (input) {
		var output = "";
		var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
		var i = 0;
 
		input = Base64._utf8_encode(input);
 
		while (i < input.length) {
 
			chr1 = input.charCodeAt(i++);
			chr2 = input.charCodeAt(i++);
			chr3 = input.charCodeAt(i++);
 
			enc1 = chr1 >> 2;
			enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
			enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
			enc4 = chr3 & 63;
 
			if (isNaN(chr2)) {
				enc3 = enc4 = 64;
			} else if (isNaN(chr3)) {
				enc4 = 64;
			}
 
			output = output +
			this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
			this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
 
		}
 
		return output;
	},
 
	// public method for decoding
	decode : function (input) {
		var output = "";
		var chr1, chr2, chr3;
		var enc1, enc2, enc3, enc4;
		var i = 0;
 
		input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
 
		while (i < input.length) {
 
			enc1 = this._keyStr.indexOf(input.charAt(i++));
			enc2 = this._keyStr.indexOf(input.charAt(i++));
			enc3 = this._keyStr.indexOf(input.charAt(i++));
			enc4 = this._keyStr.indexOf(input.charAt(i++));
 
			chr1 = (enc1 << 2) | (enc2 >> 4);
			chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
			chr3 = ((enc3 & 3) << 6) | enc4;
 
			output = output + String.fromCharCode(chr1);
 
			if (enc3 != 64) {
				output = output + String.fromCharCode(chr2);
			}
			if (enc4 != 64) {
				output = output + String.fromCharCode(chr3);
			}
 
		}
 
		output = Base64._utf8_decode(output);
 
		return output;
 
	},
 
	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	},
 
	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}
 
}

function wordCounter(field, countfield, maxlimit) {
	wordcounter=0;
	for (x=0;x<field.value.length;x++) {
		if (field.value.charAt(x) == " " && field.value.charAt(x-1) != " ")  {
			wordcounter++
		}
		if (wordcounter > maxlimit) {
			field.value = field.value.substring(0, x);
		} else {
			countfield.innerHTML = maxlimit - wordcounter;
		}
	}
}

function textCounter(field, countfield, maxlimit) {
	if (field.value.length > maxlimit){
		field.value = field.value.substring(0, maxlimit);
	} else {
		countfield.innerHTML = maxlimit - field.value.length;
	}
}
//----------------JAVASCRIPT FUNCTION-----------------//

var num = 0;
function addFile(name, id) {
	++num;
	var add_id = id + num;
	var add_html = '<div id="tagdiv'+num+'"><input type="file" name="'+name+'" id="'+add_id+'" value="" size="50" />&nbsp;<a id="taga'+num+'" href="javascript:void(0);" onclick="javascript:removeFile(\''+id+'\','+num+');">Xoá</a><br id="tagbr'+num+'" /></div>';
	var add_html = '<div id="tagdiv'+num+'"><input type="text" id="'+add_id+'" name="'+name+'" readonly="readonly" class="TextBox" size="50" value="" />&nbsp;&nbsp;&nbsp;<input name="button" id="Image'+num+'" type="button" class="button" onclick="openWindow(\'p_upload.php?mod=product&index='+num+'\', \'Upload\', 300, 200)" value="Upload" />&nbsp;<a id="taga'+num+'" href="javascript:void(0);" onclick="javascript:removeFile(\''+id+'\','+num+');">Xoá</a><br /></div>';

	$("#addfile").append(add_html);
}
function removeFile(id, pos) {
	$("#tagdiv"+pos).remove();
}

//----------------LISTBOX FUNCTION-----------------//
function doAdd(osource, odes, max_select){				
	if(odes.options.length<max_select) AddTo(osource, odes);		
	if(odes.options.length>max_select){
		for(i=odes.options.length-1; i>=max_select; i--){
			odes.options[i].selected = true;
			RemoveFrom(odes);
		}
	}
}
function RemoveFrom(osource){
	for(k=osource.length-1; k>-1; k--){
		if(osource.options[k].selected){
			osource.options[k]= null;
		}
	}
}
function AddTo(osource, odes){
	for(k=0; k<osource.length; k++){
		IsExisted = false;
		if(osource.options[k].selected == true){
			stext = osource.options[k].text;
			svalue = osource.options[k].value;
			for(i=0; i<odes.length; i++){
				if(svalue == odes.options[i].value){
					IsExisted = true;
					break;
				}//end if
			}//for
			if(IsExisted == false){
				var oOption = new Option(stext, svalue);
				j = odes.length;
				odes.options[j] = oOption;
			}//end if
		}//end if
	}//for
}
//----------------LISTBOX FUNCTION-----------------//

function ajaxSubcat(pid,name,width,hideall,resp_div,strClass) {
	var ajaxurl = AJAX+'?page=subcat&pid='+pid;
	
	if (name != null) ajaxurl += '&name='+name;
	if (width != null) ajaxurl += '&width='+width;
	if (hideall != null) ajaxurl += '&hideall='+hideall;
	if (strClass != null) ajaxurl += '&class='+strClass;
	
	if ((resp_div == null) || (trim(resp_div)=="")) resp_div = "div_subcat";
	
	$.ajax({
		url:ajaxurl,
		type: 		"GET",
		dataType: 	"html",
		cache: false,
		success: 	function (data) {
			$('#'+resp_div).html(data);
		}
	})
}

function ajaxSubpcat(pid,name,width,hideall,resp_div,strClass) {
	var ajaxurl = AJAX+'?page=subpcat&pid='+pid;
	
	if (name != null) ajaxurl += '&name='+name;
	if (width != null) ajaxurl += '&width='+width;
	if (hideall != null) ajaxurl += '&hideall='+hideall;
	if (strClass != null) ajaxurl += '&class='+strClass;
	if ((resp_div == null) || (trim(resp_div)=="")) resp_div = "div_subpcat";
	
	$.ajax({
		url:ajaxurl,
		type: 		"GET",
		dataType: 	"html",
		cache: false,
		success: 	function (data) {
			$('#'+resp_div).html(data);
		}
	})
}
