﻿/// <reference path="jquery-1.4.1-vsdoc.js" />

function getScreenWidth() {
	var iWidth = document.documentElement.clientWidth; // IE 6+, FireFox..
	if (iWidth == 0) {
		iWidth = document.body.clientWidth; // IE 5.5
	}
	if (iWidth == 0) {
		iWidth = window.innerWidth; // other
	}
	return iWidth;
}

function getScreenHeight() 
{
	var lHeight = document.documentElement.clientHeight; // IE 6+, FireFox..
	
	if (lHeight == 0) {
		lHeight = document.body.clientHeight; // IE 5.5
	}
	if (lHeight == 0) {
		lHeight = window.innerHeight; // other
	}
	return lHeight;
}

function insertAtCursor(myFieldID, myValue) {
	
	var myField = document.getElementById(myFieldID);
	if (document.selection) { //IE support
		myField.focus();
		sel = document.selection.createRange();
		sel.text = myValue;
	}
	else if (myField.selectionStart || (myField.selectionStart == '0')) { //Mozilla/Firefox/Netscape 7+ support
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
	} else {
		myField.value += myValue;
	}
}

function insertAtCursorSmart(aspnetId, value) 
{
	//var c = $(":aspnet('" + aspnetId + "')
	var c = $("[id$= '" + aspnetId + "']:enabled");

	if (c.length > 0) {
		insertAtCursor(c.first().attr('id'), value);
	}
}

function insertAtCursorSmartWithNumber(aspnetId, value, numberTextBoxId) 
{
    //var c = $(":aspnet('" + aspnetId + "')
    var c = $("[id$= '" + aspnetId + "']:enabled");
    var txtNumber = $("[id$= '" + numberTextBoxId + "']:enabled").first();
    var number = parseInt(txtNumber.val());

    if (isNaN(number))
        number = 1;
    
    insertAtCursor(c.first().attr('id'), value.replace("}",number+"}"));

    var nxt = number + 1;
    
    txtNumber.val(nxt);
}

//function OpenFCKEditor(sControlID) 
//{
//	var hfHiddenFieldControl = document.getElementById("__ControlId");
//	var openobj = window.open('FCKEditor.aspx?ControlId=' + sControlID + '', 'FckEditor', 'width=800, height=600, resizable=no');
//	openobj.opener = self;
//	openobj.focus();
//	return false;
//}

function OpenCKEditor(controlID) {
//	var hfHiddenFieldControl = document.getElementById("__ControlId");
	var openobj = window.open('CKEditor.aspx?ControlId=' + controlID + '', 'CkEditor', 'width=900, height=600, resizable=no'); //Check!
	openobj.opener = self;
	openobj.focus();
	return false;
}

function ToggleImport(divname, input)
{
	var toggleDiv = document.getElementById(divname);
	if(toggleDiv != null) 
	{
		if(toggleDiv.style.visibility == 'hidden')
		{
			input = input.parentNode;
		
			toggleDiv.style.visibility = 'visible';
			toggleDiv.style.display = 'block';        

			toggleDiv.style.top = (input.offsetTop + input.offsetHeight) + "px";
			toggleDiv.style.left =  (input.offsetLeft - toggleDiv.offsetWidth + input.offsetWidth) + "px";    
		}
		else
		{    
			toggleDiv.style.visibility = 'hidden';
			toggleDiv.style.display = 'none';
		}
	}
}

function TriplestateCheckBoxHandler(chkBox, hiddenFieldId, controlId, doPostback)
{
	var hiddenField = document.getElementById(hiddenFieldId);
	
	var UnChecked = '0';
	var Checked = '1';
	var Undefined = '2';
			
	switch (hiddenField.value)
	{
		case Undefined:
			hiddenField.value = Checked;
			break;
		case Checked:
			hiddenField.value = UnChecked;
			break;
		case UnChecked:
			hiddenField.value = Undefined;
			break;
	}

	var className;
	switch (hiddenField.value)
	{
		case Undefined:
			className = 'CheckBoxUnDefined';
			break;
		case Checked:
			className = 'CheckBoxChecked';
			break;
		case UnChecked:
			className = 'CheckBoxUnChecked';
			break;
	}
	
	chkBox.className = className;
	
	//do postback, call checkchanged
	if (doPostback == true)
	{
		__doPostBack(controlId, 'CheckChanged');
	}
}

function OpenQuestionToolTip(sender, args) 
{
    var txt = sender._text.split(',');

    $.ajax({ type: "POST",
        url: "QuestionTooltip.aspx/GetToolTipText",
        data: "{'QInputId':'" + txt[0] + "', 'PageQuestionnaireId':'" + txt[1] + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            var res = '<div style="padding:10px"><b>' + txt[2] + '</b><br/><br/>' + msg.d + '</div>';
            sender.set_text(res);
        }
    });
}

function RandomizeToggle(section1, section2) 
{
    var s1 = $("[id$= '" + section1 + "']").first();
    var s2 = $("[id$= '" + section2 + "']").first();

    var s1valid = true;
    var s2valid = true;

    var s1hasvalue = false;
    var s2hasvalue = false;

    var s1enabled = true;
    var s2enabled = true;

    s1.find('select').each(function () {
        if ($(this).val() >= 1 && s1valid)
            s1valid = true;
        else if (s1.find('select').length == 4 && $(this).val() == "-" && s1valid)
            s1valid = true;
        else
            s1valid = false;

        if ($(this).is(":enabled") && s1enabled)
            s1enabled = true;
        else
            s1enabled = false;

        if ($(this).val() != "-")
            s1hasvalue = true;
    });

    s2.find('select').each(function () {
        if ($(this).val() >= 1 && s2valid)
            s2valid = true;
        else if (s2.find('select').length == 4 && $(this).val() == "-" && s2valid)
            s1valid = true;
        else
            s2valid = false;

        if ($(this).is(":enabled") && s2enabled)
            s2enabled = true;
        else
            s2enabled = false;

        if ($(this).val() != "-")
            s2hasvalue = true;
    });

    if (s1valid && s1enabled && s1hasvalue || s2valid && !s2enabled && s2hasvalue)
        s2.show();
    else
    {
        s2.hide();
        s2.find('select').each(function () { $(this).val('-'); });
        if (!s1enabled && !s1hasvalue || !s1valid && !s1enabled)
            s1.hide();
    }
}

