
/*
*   Called from the onLoad event
*/
function doLoad() {
    var inElem1 = document.getElementById("chatDesc");
    inElem1.onkeypress=doKeyCheck;
}

/*
*   Check for enter key press from the input field
*/
function doKeyCheck(evt) {
    var keynum = -1;

    if(window.event) // IE
    {
        keynum = window.event.keyCode
    }
    else if(evt && evt.which) // Netscape/Firefox/Opera
    {
        keynum = evt.which
    }

    // enter key pressed
    if (keynum == 13) {
		if (typeof Recaptcha == "undefined")
			doClick();
        else showRecaptcha();
        return false;
    }

}


/*
*   Called from the submit button click event
*/
function doClick() {
    var siteId = "";
    var desc = "";
    var bIsOk = true;

    // get the description
    var inElem1 = document.getElementById("chatDesc");
    if (!inElem1) {
        alert("Please reload the page and try again");
        return false;
    }
    if (inElem1.value == "") {
        alert("Please enter a short title for your room");
        return false;
    }
    desc = inElem1.value;
    bIsOk = validate(desc);
    if (!bIsOk) {
        return;
    }

    // create siteid
    var now = new Date().getTime();
    //var nowStr = "" + now;
    // var shortNow = nowStr.substr(4);
    // var siteId = "c" + shortNow;
	var siteId = hex_md5(desc+now);
    //var siteId = "cc" + nowStr;

    // get the output elements
    var outElem1 = document.getElementById("mailOut");
    var outElem2 = document.getElementById("linkOut");
    var outElem3 = document.getElementById("btnOut");
    if (!outElem1 || !outElem2 || !outElem3) {
        alert("Please reload the page and try again");
        return;
    }

    // construct the output text
    var outDesc = escape(desc);

    // create the url
    var url = "http://microchat.vysr.com/room/?desc="
        + outDesc
        + "&site="
        + siteId;

   var url2 = "&lt;a href='" + url + "'&gt;" + desc + "&lt;/a&gt;"
   var url3 = "&lt;button onClick='window.location=\"" + url + "\"'&gt;" + desc + "&lt;/button&gt;"

   // create link to go to new chat
   var gotoDiv = document.getElementById("gotoChat");
   gotoDiv.innerHTML = "<a href='" + url + "' target='_blank'>" 
        + "Go to the created Ez2talk room" + "</a>"

    // set the iframe src
    outElem1.innerHTML = url;
    outElem2.innerHTML = url2;
    outElem3.innerHTML = url3;

    return false;
}

function doSubmit() {
	var desc = "";
    var bIsOk = true;
	
	if (typeof Recaptcha == "undefined") {
		doClick();
		return;
	}
	Recaptcha.destroy();
	document.getElementById('step2a').style.visibility = "hidden";
	document.getElementById('step3').style.visibility = "visible";
	document.getElementById('recaptcha_message').innerHTML = "Room created";
	
	var inElem1 = document.getElementById("chatDesc");
    if (!inElem1) {
        alert("Please reload the page and try again");
        return false;
    }
    if (inElem1.value == "") {
        alert("Please enter a short title for your room");
        return false;
    }
	
	desc = inElem1.value;
    bIsOk = validate(desc);
    if (!bIsOk) {
        window.location.reload( false );
    }

	//Need to replace this with call to server to generate the roomid
	//Do an Ajax call with Recaptcha.get_challenge() and Recaptcha.get_response() 
	// to validate on the server and return a roomid that should be used instead
	//of the segment below to create the room id.

	//alert(Recaptcha.get_challenge()+" "+Recaptcha.get_response());
	// create siteid
    var now = new Date().getTime();
	var siteId = hex_md5(desc+now);

    // get the output elements
    var outElem1 = document.getElementById("mailOut");
    var outElem2 = document.getElementById("linkOut");
    var outElem3 = document.getElementById("btnOut");
    if (!outElem1 || !outElem2 || !outElem3) {
        alert("Please reload the page and try again");
        return;
    }

    // construct the output text
    var outDesc = escape(desc);

    // create the url
    var url = "http://microchat.vysr.com/room/?desc="
        + outDesc
        + "&site="
        + siteId;

   var url2 = "&lt;a href='" + url + "'&gt;" + desc + "&lt;/a&gt;"
   var url3 = "&lt;button onClick='window.location=\"" + url + "\"'&gt;" + desc + "&lt;/button&gt;"

   // create link to go to new chat
   var gotoDiv = document.getElementById("gotoChat");
   gotoDiv.innerHTML = "<a href='" + url + "' target='_blank'>" 
        + "Go to the created Ez2talk room" + "</a>"

    // set the iframe src
    outElem1.innerHTML = url;
    outElem2.innerHTML = url2;
    outElem3.innerHTML = url3;

    return false;
}

function validate(inStr) {

    // restrict input length
    if (inStr.length > 40) {
        alert("Sorry, the room title should be less than 40 characters long");
        return false;
    }

    // restrict allowed characters
//                var badChars = desc.match(/[<>&"']/);
    var badChars = inStr.match(/[<>&]/);
    if (badChars) {
        alert("Sorry, you may not include the characters /, <, > or \& in your chat name.");
        return false;
    }

    return true;
 }

// Show captcha challenge
function showRecaptcha() {
    var desc = "";
    var bIsOk = true;

    // get the description
    var inElem1 = document.getElementById("chatDesc");
    if (!inElem1) {
        alert("Please reload the page and try again");
        return false;
    }
    if (inElem1.value == "") {
        alert("Please enter a short title for your room");
        return false;
    }
    desc = inElem1.value;
    bIsOk = validate(desc);
    if (!bIsOk) {
        return;
    }
	document.getElementById('step2').style.visibility = "visible";
	document.getElementById('step2a').style.visibility = "visible";
	Recaptcha.create("6Le6hAAAAAAAAA3dEVks5a6R9AxAiYWAPw9Um34T", "dynamic_recaptcha_1", 		
  	{
		theme: 'white',
		tabindex: 0,
		callback: Recaptcha.focus_response_field
  	});
}
