var borrados = 0;
var alerta = 'test-10';
var chosenBoton = 0;
		var chosenImageUrl = '';
		var chosenLiga = '';

// Show div with nav bar costumization options
// Change button's functions from open to close
function openCostumiza(){
	$('#botonesAddWrap').slideDown("slow");
	$('.botonRemove').slideDown();
	$('#showAddLink').attr('href', 'javascript:closeCostumiza();');
	getHeight(150);
}

// Hide div with nav bar costumization options
// Change button's functions from close to open
function closeCostumiza(){
	$('#botonesAddWrap').slideUp("slow");
	$('.botonRemove').slideUp();
	$('#showAddLink').attr('href', 'javascript:openCostumiza();');
	getHeight(0);
}

// Remove an item from the nav bar + save changes
function removeBut(index){
	 $("#botonesGrid > #"+index).remove();
	 var id=16+borrados;
	 $("#botonesGrid").append("<div class='boton' id='"+id+"'><div class='botonEmpty'><a href='javascript:openCostumiza()'>+</a></div></div>");
	 
  	 borrados = borrados+1;
  	 saveOrder();
}

// Add an item from de nav bar + save changes
function addBut(index, image, link){
	//alert(index);
	var addHtml = "<div class='boton' id='"+index+"'><div class='botonUsed'><a href='"+link+"' target='mainFrame'><img src='http://www.minternet.com.mx/"+image+"' alt='' width='30' height='30'/></a></div><div class='botonRemove'><a href='javascript:removeBut("+index+")'><img src='http://www.minternet.com.mx/img/_header/removeX.jpg' alt='removeX' width='10' height='10'/></a></div></div>";
	
	$('#botonesGrid > .boton:last').remove();
	
	$("#botonesGrid").prepend(addHtml);
	$('.botonRemove').show();
	$('#botonesGrid').sortable('refreshPositions');
	
  	saveOrder();

}
function addButNew(image){
	var index = chosenBoton;
	var link = chosenLiga;
	//alert(index);
	var addHtml = "<div class='boton' id='"+index+"'><div class='botonUsed'><a href='"+link+"' target='mainFrame'><img src='http://www.minternet.com.mx/"+image+"' alt='' width='30' height='30'/></a></div><div class='botonRemove'><a href='javascript:removeBut("+index+")'><img src='http://www.minternet.com.mx/img/_header/removeX.jpg' alt='removeX' width='10' height='10'/></a></div></div>";
	
	$('#botonesGrid > .boton:last').remove();
	
	$("#botonesGrid").prepend(addHtml);
	$('.botonRemove').show();
	$('#botonesGrid').sortable('refreshPositions');
	
  	saveOrder();

}
function selectCat(cat){
	for (i=0;i<=6;i++){
		$('#cat'+i).removeClass('selectedCat');
		$('#panel'+i).css('display','none');
	}
	$('#cat'+cat).addClass('selectedCat');
	$('#panel'+cat).css('display','block');			
}
function showIcons(panel,boton,imageUrl,url){
	chosenBoton = boton;
	chosenImageUrl = imageUrl;
	chosenLiga = url;
	for (i=0;i<=6;i++){
		$('#panelIconos'+i).css('display','none');
	}
	$('#panelIconos'+panel).css('display','block');	
}
			
// Change the state of the selected icon + change hidden input's value
function selectIcono(id){
	$("#selectIcono").attr('value', id);
	$('.botonSelectable').css('border', 'thin solid #FFF');
	$("#selectIcono_"+id).css('border', 'thin solid #009900');
}


// Ajax call to update de nav bar's status of the user
function saveOrder(){
	var order = $('#botonesGrid').sortable('toArray'); 
  	 //alert(order);
  	 $.post("input/sortorder/", { 'order[]': order },
	  function(data){
	    //alert("Data Loaded: " + data);
	  });
}

// function getHeight
function getHeight(extra){	
	var fHeight = 2000+extra;
	$('#mainFrame').attr("height",fHeight);
	/*
	if($.browser.msie && $.browser.version=="6.0"){
		alerta += '-IE6-';
		
	} else {
		if (parseInt(navigator.appVersion)>3) {
		 if (navigator.appName=="Netscape") {
		  winW = window.innerWidth;
		  winH = window.innerHeight;
		 }
		 if (navigator.appName.indexOf("Microsoft")!=-1) {
		  winW = document.body.offsetWidth;
		  winH = document.body.offsetHeight;
		 }
		}
		winH = winH -90-extra;
		$('#mainFrame').attr("height",winH);
	}
*/
}

/*
if($.browser.msie && $.browser.version=="6.0"){
	alerta += 'avoidedOnrezise';
} else {
	// On resize
	$(window).resize(function(){
	  //alert("Stop it!");
	  getHeight();
	});
}
*/
 // Check phone numeric
function checkNumeric(value){
   var anum=/(^\d+$)|(^\d+\.\d+$)/
   if (anum.test(value)){
   	return true;
   	} else {
    return false;
    }
}

 // Check Mail
function checkMail(value){
   var anum=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
   if (anum.test(value)){
   	return true;
   	} else {
    return false;
    }
}

// open / close login
function openLogin(){
	$('#loginBox').show();
}
function closeLogin(){
	$('#loginBox').hide();
}

function setHomepage() { 
	if (window.external) 
	// if the browser is IE open the add favorite window
	{
	external.AddFavorite(location.href, document.title)
	// Add the document location and title to the AddFavorite window
	}
	else 
	// Display and alert box for any other browser.
	{
	alert("Sorry, your browser doesn't support this feature." + 
	"\nPlease use the bookmark feature of your browser to save the location of this page.");
	}
}


	
      	// Intercept + Load links in iframe via javascript
   	$("a[type=nav]").click(function(e) {
   		 //alert("hola");
   		 e.preventDefault();
         $('#mainFrame').attr('src', $(this).attr('href'));
    });
function closeMessage(){
	$('#explicacion').hide();
}
// on document load
$(document).ready(function(){
	$('#explicacion').show();
	$('#botonesGrid').sortable({ cursor: "move"});
	$('#botonesGrid').bind('sortupdate', function() {
		 var order = $('#botonesGrid').sortable('toArray'); 
      	 //alert(order);
      	 $.post("input/sortorder/", { 'order[]': order },
			  function(data){
			    //alert("Data Loaded: " + data);
			  });
		});
	
	getHeight(0);
	$("a[rel]").overlay({expose: '#333'});
	$('#submitRegister').bind('submit', function(e){
		 //alert('submitRegister');
		 error = false;
		 errorMsj = '';
		 e.preventDefault();
		 var sendData = Array();
		 sendData[1] = $('#reg_passwordInput').val();
		 sendData[2] = $('#terminos').val();
		 sendData[3] = $('#nombreInput').val();
		 sendData[4] = $('#telefonoInput').val();
		 sendData[5] = $('#emailInput').val();
		 sendData[6] = $('#reg_usernameInput').val();
		 
		 if(sendData[5] == '' || sendData[5].length < 8 || checkMail(sendData[5])== false){
			 error = true;
			errorMsj = "Falta tu email o el formato es incorrecto";
		 } 
		 
		 if(sendData[2] != 'on'){
			 error = true;
			errorMsj += "\nTienes que aceptar los terminos y condiciones para continuar";
		 } 
		 if(sendData[1] == '' || sendData[1].length < 6 || sendData[1] != $('#reg_password2').val()){
			 error = true;
			errorMsj += "\nFalta clave, es demasiado corta o no coincide con la verificacion";
		 } else {
		 	sendData[1] = md5(sendData[1]);
		 }
		 if(sendData[6] == '' || sendData[6].length < 3){
			 error = true;
			errorMsj += "\nFalta tu nombre completo o es demasiado corto";
		 } 
		 if(sendData[3] == '' || sendData[3].length < 3){
			 error = true;
			errorMsj += "\nFalta tu nombre completo o es demasiado corto";
		 } 
		 if(sendData[4] == '' || sendData[4].length != 10 || checkNumeric(sendData[4])== false){
			 error = true;
			errorMsj += "\nFalta telefono o es demasiado corto";
		 } 
		 
		 if(error == false){
			 $.post("http://www.minternet.com.mx/input/registro/", { 'sendData[]': sendData },
				  function(data){
				    if(data == 'true'){
				    	window.location.reload();
				    } else {
				    	$('#loginErrorMsg').html("<h3>No se pudo registrar tu cuenta. Intenta mas tarde.</h3>").show('slow');
				    	alert(data);
				    }
				  });
		 } else {
		 	alert(errorMsj);
		 }
		 });
	$('#submitLogin').bind('submit', function(e){
		 error = false;
		 errorMsj = '';
		 //alert('submitLogin');
		 e.preventDefault();
		 var sendData = Array();
		 sendData[0] = $('#loginInput').val();
		 sendData[1] = md5($('#passwordInput').val());
		 
		 if(sendData[0] == ''){
			 error = true;
			errorMsj += "\nFalta tu Email";
		 } 
		 if($('#passwordInput').val() == ''){
			 error = true;
			errorMsj += "\nFalta clave";
		 } 
		 if(error == false){
		 	//alert("posting");
			 $.post("http://www.minternet.com.mx/input/login/", { 'sendData[]': sendData },
				  function(data){
				    if(data == 'true'){
				    	
				    	window.location.reload();
				    } else {
				    	//$('#loginErrorMsg').html("<h3>Usuario o clave incorrectos</h3>").show('slow');
				    	alert("Error en el login"+data);
				    }
				  });
		 } else {
		 	alert(errorMsj);
		 }
		 	
		 });
	$("#submitNew").bind('click',function(e) {
		e.preventDefault();
   		// alert('hola');
   		var boton = new Array();
   		boton[0] = $('#selectIcono').attr('value');
   		boton[1] = $('#newUrl').attr('value');
   		var imagen = "img/_iconos/"+boton[0]+".gif";
   		//alert(boton['icono']);
   		  $.post("input/newBoton/", { 'boton[]': boton },
			  function(data){
			    addBut(data, imagen,boton[1]);
			  });
		
     // validate and process form here  
   });
   
   $('#cat1').addClass('selectedCat');
		$('#panel1').css('display','block');
		$('#panelIconos').css('display','block');

	//alert(alerta);
	
});
/*
    
   	
   	$('#botonesGrid').sortable({
		cursor: "move",
	});
	$('#botonesGrid').bind('sortupdate', function() {
		 var order = $('#botonesGrid').sortable('toArray'); 
      	 //alert(order);
      	 $.post("input/sortorder/", { 'order[]': order },
			  function(data){
			    //alert("Data Loaded: " + data);
			  });
		});

   	// Intercept + Load links in iframe via javascript
   	$("a[type=nav]").click(function(e) {
   		 //alert("hola");
   		 e.preventDefault();
         $('#mainFrame').attr('src', $(this).attr('href'));
    });
    $("img[rel]").overlay();
    //$("#comboboxid").msDropDown();

	
	$("#submitNew").bind('click',function(e) {
		e.preventDefault();
   		// alert('hola');
   		var boton = new Array();
   		boton[0] = $('#selectIcono').attr('value');
   		boton[1] = $('#newUrl').attr('value');
   		var imagen = "img/_iconos/"+boton[0]+".gif";
   		//alert(boton['icono']);
   		  $.post("input/newBoton/", { 'boton[]': boton },
			  function(data){
			    addBut(data, imagen,boton[1]);
			  });
		
     // validate and process form here  
   });
 });
  
 // 1. Toggle personaliza
 
 // 2. Add to navBar
 
 // 3. Remove from navBar
 
 // 4. Order navBar
 
 // (op). Drag and Drop
 
 // Roll over buttons
 
 
// Rate (up or down)

// Comment

// clic url
function getOrder(){
	//alert("Hola");
}
function getFrameURL(){
	var currentFrame =  $('#mainFrame').attr('src');
	alert(currentFrame);
}
// Carrusel
function loadContent(url){
	
	$("#bucketContentMain").html("<img src='"+url+"' width='350' height='195' />");

}




     


$.fn.infiniteCarousel = function () {

    function repeat(str, num) {
        return new Array( num + 1 ).join( str );
    }
  
    return this.each(function () {
        var $wrapper = $('> div', this).css('overflow', 'hidden'),
            $slider = $wrapper.find('> ul'),
            $items = $slider.find('> li'),
            $single = $items.filter(':first'),
            
            singleWidth = $single.outerWidth(), 
            visible = Math.ceil($wrapper.innerWidth() / singleWidth), // note: doesn't include padding or border
            currentPage = 1,
            pages = Math.ceil($items.length / visible);            


        // 1. Pad so that 'visible' number will always be seen, otherwise create empty items
        if (($items.length % visible) != 0) {
            $slider.append(repeat('<li class="empty" />', visible - ($items.length % visible)));
            $items = $slider.find('> li');
        }

        // 2. Top and tail the list with 'visible' number of items, top has the last section, and tail has the first
        $items.filter(':first').before($items.slice(- visible).clone().addClass('cloned'));
        $items.filter(':last').after($items.slice(0, visible).clone().addClass('cloned'));
        $items = $slider.find('> li'); // reselect
        
        // 3. Set the left position to the first 'real' item
        $wrapper.scrollLeft(singleWidth * visible);
        
        // 4. paging function
        function gotoPage(page) {
            var dir = page < currentPage ? -1 : 1,
                n = Math.abs(currentPage - page),
                left = singleWidth * dir * visible * n;
            
            $wrapper.filter(':not(:animated)').animate({
                scrollLeft : '+=' + left
            }, 500, function () {
                if (page == 0) {
                    $wrapper.scrollLeft(singleWidth * visible * pages);
                    page = pages;
                } else if (page > pages) {
                    $wrapper.scrollLeft(singleWidth * visible);
                    // reset back to start position
                    page = 1;
                } 

                currentPage = page;
            });                
            
            return false;
        }
        
        $wrapper.after('<a class="arrow back">&lt;</a><a class="arrow forward">&gt;</a>');
        
        // 5. Bind to the forward and back buttons
        $('a.back', this).click(function () {
            return gotoPage(currentPage - 1);                
        });
        
        $('a.forward', this).click(function () {
            return gotoPage(currentPage + 1);
        });
        
        // create a public interface to move to a specific page
        $(this).bind('goto', function (event, page) {
            gotoPage(page);
        });
    });  
};
*/

 
// prevent exit
function md5 (str) {
    // http://kevin.vanzonneveld.net
    // +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
    // + namespaced by: Michael White (http://getsprink.com)
    // +    tweaked by: Jack
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // -    depends on: utf8_encode
    // *     example 1: md5('Kevin van Zonneveld');
    // *     returns 1: '6e658d4bfcb59cc13f96c14450ac40b9'
 
    var xl;
 
    var rotateLeft = function (lValue, iShiftBits) {
        return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
    };
 
    var addUnsigned = function (lX,lY) {
        var lX4,lY4,lX8,lY8,lResult;
        lX8 = (lX & 0x80000000);
        lY8 = (lY & 0x80000000);
        lX4 = (lX & 0x40000000);
        lY4 = (lY & 0x40000000);
        lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
        if (lX4 & lY4) {
            return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
        }
        if (lX4 | lY4) {
            if (lResult & 0x40000000) {
                return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
            } else {
                return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
            }
        } else {
            return (lResult ^ lX8 ^ lY8);
        }
    };
 
    var _F = function (x,y,z) { return (x & y) | ((~x) & z); };
    var _G = function (x,y,z) { return (x & z) | (y & (~z)); };
    var _H = function (x,y,z) { return (x ^ y ^ z); };
    var _I = function (x,y,z) { return (y ^ (x | (~z))); };
 
    var _FF = function (a,b,c,d,x,s,ac) {
        a = addUnsigned(a, addUnsigned(addUnsigned(_F(b, c, d), x), ac));
        return addUnsigned(rotateLeft(a, s), b);
    };
 
    var _GG = function (a,b,c,d,x,s,ac) {
        a = addUnsigned(a, addUnsigned(addUnsigned(_G(b, c, d), x), ac));
        return addUnsigned(rotateLeft(a, s), b);
    };
 
    var _HH = function (a,b,c,d,x,s,ac) {
        a = addUnsigned(a, addUnsigned(addUnsigned(_H(b, c, d), x), ac));
        return addUnsigned(rotateLeft(a, s), b);
    };
 
    var _II = function (a,b,c,d,x,s,ac) {
        a = addUnsigned(a, addUnsigned(addUnsigned(_I(b, c, d), x), ac));
        return addUnsigned(rotateLeft(a, s), b);
    };
 
    var convertToWordArray = function (str) {
        var lWordCount;
        var lMessageLength = str.length;
        var lNumberOfWords_temp1=lMessageLength + 8;
        var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
        var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
        var lWordArray=new Array(lNumberOfWords-1);
        var lBytePosition = 0;
        var lByteCount = 0;
        while ( lByteCount < lMessageLength ) {
            lWordCount = (lByteCount-(lByteCount % 4))/4;
            lBytePosition = (lByteCount % 4)*8;
            lWordArray[lWordCount] = (lWordArray[lWordCount] | (str.charCodeAt(lByteCount)<<lBytePosition));
            lByteCount++;
        }
        lWordCount = (lByteCount-(lByteCount % 4))/4;
        lBytePosition = (lByteCount % 4)*8;
        lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
        lWordArray[lNumberOfWords-2] = lMessageLength<<3;
        lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
        return lWordArray;
    };
 
    var wordToHex = function (lValue) {
        var wordToHexValue="",wordToHexValue_temp="",lByte,lCount;
        for (lCount = 0;lCount<=3;lCount++) {
            lByte = (lValue>>>(lCount*8)) & 255;
            wordToHexValue_temp = "0" + lByte.toString(16);
            wordToHexValue = wordToHexValue + wordToHexValue_temp.substr(wordToHexValue_temp.length-2,2);
        }
        return wordToHexValue;
    };
 
    var x=[],
        k,AA,BB,CC,DD,a,b,c,d,
        S11=7, S12=12, S13=17, S14=22,
        S21=5, S22=9 , S23=14, S24=20,
        S31=4, S32=11, S33=16, S34=23,
        S41=6, S42=10, S43=15, S44=21;
 
    str = utf8_encode(str);
    x = convertToWordArray(str);
    a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;
    
    xl = x.length;
    for (k=0;k<xl;k+=16) {
        AA=a; BB=b; CC=c; DD=d;
        a=_FF(a,b,c,d,x[k+0], S11,0xD76AA478);
        d=_FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
        c=_FF(c,d,a,b,x[k+2], S13,0x242070DB);
        b=_FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
        a=_FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
        d=_FF(d,a,b,c,x[k+5], S12,0x4787C62A);
        c=_FF(c,d,a,b,x[k+6], S13,0xA8304613);
        b=_FF(b,c,d,a,x[k+7], S14,0xFD469501);
        a=_FF(a,b,c,d,x[k+8], S11,0x698098D8);
        d=_FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
        c=_FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
        b=_FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
        a=_FF(a,b,c,d,x[k+12],S11,0x6B901122);
        d=_FF(d,a,b,c,x[k+13],S12,0xFD987193);
        c=_FF(c,d,a,b,x[k+14],S13,0xA679438E);
        b=_FF(b,c,d,a,x[k+15],S14,0x49B40821);
        a=_GG(a,b,c,d,x[k+1], S21,0xF61E2562);
        d=_GG(d,a,b,c,x[k+6], S22,0xC040B340);
        c=_GG(c,d,a,b,x[k+11],S23,0x265E5A51);
        b=_GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
        a=_GG(a,b,c,d,x[k+5], S21,0xD62F105D);
        d=_GG(d,a,b,c,x[k+10],S22,0x2441453);
        c=_GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
        b=_GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
        a=_GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
        d=_GG(d,a,b,c,x[k+14],S22,0xC33707D6);
        c=_GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
        b=_GG(b,c,d,a,x[k+8], S24,0x455A14ED);
        a=_GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
        d=_GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
        c=_GG(c,d,a,b,x[k+7], S23,0x676F02D9);
        b=_GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
        a=_HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
        d=_HH(d,a,b,c,x[k+8], S32,0x8771F681);
        c=_HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
        b=_HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
        a=_HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
        d=_HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
        c=_HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
        b=_HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
        a=_HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
        d=_HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
        c=_HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
        b=_HH(b,c,d,a,x[k+6], S34,0x4881D05);
        a=_HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
        d=_HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
        c=_HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
        b=_HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
        a=_II(a,b,c,d,x[k+0], S41,0xF4292244);
        d=_II(d,a,b,c,x[k+7], S42,0x432AFF97);
        c=_II(c,d,a,b,x[k+14],S43,0xAB9423A7);
        b=_II(b,c,d,a,x[k+5], S44,0xFC93A039);
        a=_II(a,b,c,d,x[k+12],S41,0x655B59C3);
        d=_II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
        c=_II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
        b=_II(b,c,d,a,x[k+1], S44,0x85845DD1);
        a=_II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
        d=_II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
        c=_II(c,d,a,b,x[k+6], S43,0xA3014314);
        b=_II(b,c,d,a,x[k+13],S44,0x4E0811A1);
        a=_II(a,b,c,d,x[k+4], S41,0xF7537E82);
        d=_II(d,a,b,c,x[k+11],S42,0xBD3AF235);
        c=_II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
        b=_II(b,c,d,a,x[k+9], S44,0xEB86D391);
        a=addUnsigned(a,AA);
        b=addUnsigned(b,BB);
        c=addUnsigned(c,CC);
        d=addUnsigned(d,DD);
    }
 
    var temp = wordToHex(a)+wordToHex(b)+wordToHex(c)+wordToHex(d);
 
    return temp.toLowerCase();
}
function utf8_encode ( argString ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: sowberry
    // +    tweaked by: Jack
    // +   bugfixed by: Onno Marsman
    // +   improved by: Yves Sucaet
    // +   bugfixed by: Onno Marsman
    // +   bugfixed by: Ulrich
    // *     example 1: utf8_encode('Kevin van Zonneveld');
    // *     returns 1: 'Kevin van Zonneveld'
 
    var string = (argString+''); // .replace(/\r\n/g, "\n").replace(/\r/g, "\n");
 
    var utftext = "";
    var start, end;
    var stringl = 0;
 
    start = end = 0;
    stringl = string.length;
    for (var n = 0; n < stringl; n++) {
        var c1 = string.charCodeAt(n);
        var enc = null;
 
        if (c1 < 128) {
            end++;
        } else if (c1 > 127 && c1 < 2048) {
            enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128);
        } else {
            enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128);
        }
        if (enc !== null) {
            if (end > start) {
                utftext += string.substring(start, end);
            }
            utftext += enc;
            start = end = n+1;
        }
    }
 
    if (end > start) {
        utftext += string.substring(start, string.length);
    }
 
    return utftext;
}
