﻿PageControls.add_ready(function(){ 
    if (PageControls.ddlProduct.selectedIndex > 0)
    {
       changeRequest();
       requestsChanged();
    }

    if ((typeof(hideSecondaryEmails) == 'undefined') || hideSecondaryEmails) {
        document.getElementById("secondaryEmailsTxt").style.display = 'none';
        document.getElementById("secondaryEmailsLbl").style.display = 'none';
    }

    PageControls.Button1.style.display = 'inline';
});

function getSelectedItem(obj)
{
	for (var i=0; i < obj.options.length; i++)
		if (obj.options[i].selected) return i-1;
	return -1;
}

function setSelectedItem(obj, value)
{
	for (var i=0; i < obj.options.length; i++)
		if (obj.options[i].value == value)
			obj.options[i].selected = true;
}

function clearSelect(obj)
{
	for (var i = obj.options.length-1; i>=0; i--)
		obj.remove(i);
}

function addOption(obj, name, value)
{
	if (value == null) value = name;
	var option = document.createElement("OPTION");
	obj.options.add(option);
	option.innerHTML = name;
	option.value = (value.indexOf("---") == 0 ? "" : value);
}

function productValidate(sender, args)
{
   if (PageControls.ddlProduct.options[PageControls.ddlProduct.selectedIndex].value == "")
     args.IsValid = false;
   else
     args.IsValid = true;
     
   PageControls.txtMessage.value = escapeTextForHTML(PageControls.txtMessage.value);
   PageControls.txtSubject.value = escapeTextForHTML(PageControls.txtSubject.value);     
}

function requestTypeValidate(sender, args)
{
   if (PageControls.ddlRequestType.options[PageControls.ddlRequestType.selectedIndex].value == "")
     args.IsValid = false;
   else
     args.IsValid = true;
}

function editionValidate(sender, args)
{
   if (document.getElementById("ctl00_ctl00_globalMainContent_mainContent_ctl00_cbxDemoWrapper").style.display == 'inline' ||
       PageControls.ddlProduct.selectedIndex == 9) {
      return true;
   }
   if (PageControls.ddlEdition.options[PageControls.ddlEdition.selectedIndex].value == "")
     args.IsValid = false;
   else
     args.IsValid = true;
}

function productChanged(obj)
{
	var item = getSelectedItem(obj);
	var select = PageControls.ddlVersion;
	clearSelect(select);

	if (item >= 0) addOption(select, "-", "");
	if (item >= 0 && item < versions.length)
		for (var i=0; i < versions[item].length; i++)
			addOption(select, versions[item][i].name);

    versionChanged(select);

    changeEdition(item);
    changeRequest();
    
	clearSelect(PageControls.ddlMinorUpdate);
	addOption(PageControls.ddlMinorUpdate, "-", "");
	
	ddlEditionChange();
}

function ddlEditionChange()
{
    var status = true;
	    document.getElementById("aqtime4RadStudio").style.display = 'none';	
	    document.getElementById("aqtimeStandard").style.display = 'none';		        
    
    var prod = PageControls.ddlProduct.options[PageControls.ddlProduct.selectedIndex].value;
    var ed = PageControls.ddlEdition.options[PageControls.ddlEdition.selectedIndex].value;
	if (ed == "Standard for RAD Studio XE")
	{
	    var aq4rs = document.getElementById("aqtime4RadStudio");
	    if (aq4rs)
	    {
	        aq4rs.style.display = 'block';	        
	        PageControls.btnSubmitRequest.disabled = true;
	        status = false;
	    }
	}
	else if (ed == "Standard" && prod == "AQtime ")
	{
	    var aqStd = document.getElementById("aqtimeStandard");
	    if (aqStd)
	    {
	        aqStd.style.display = 'block';	        
	        PageControls.btnSubmitRequest.disabled = true;
	        status = false;
	    }
	}
	else
	{
	    document.getElementById("aqtime4RadStudio").style.display = 'none';	
	    PageControls.btnSubmitRequest.disabled = false;	   
	    status = true;    
	}
	
	var ie6 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 6.0") != -1);
	
	for (var i=0; i < 5; i++)
	{
	    var tr = document.getElementById("tr" + (i+1));
	    if (tr)
	    {
            if (status) 
            {
                if (ie6)
                    tr.style.display = "inline";
                else
                    tr.style.display = "table-row";                
            }
            else
            {
                tr.style.display = "none";
            }         
	    }
	}	
}

function changeEdition(productItem)
{
	var edition = PageControls.ddlEdition;
	clearSelect(edition);
	
	var versionBlock1 = document.getElementById("versionBlock1");
	versionBlock1.style.display = 'inline';			        
	var versionBlock2 = document.getElementById("versionBlock2");
	versionBlock2.style.display = 'inline';	
	
	PageControls.ddlEdition.style.display = 'inline';			 
	PageControls.ddlVersion.style.display = 'inline';	
	PageControls.ddlMinorUpdate.style.display = 'inline';	
					 
	if (productItem >= 0) addOption(edition, lng_edition, "");
	if (productItem >= 0 && productItem < editions.length)
	{ 
	    if (editions[productItem].length > 0 && (productItem != 6)) 
	    {
	        edition.style.display = 'inline';
	        document.getElementById("ctl00_ctl00_globalMainContent_mainContent_ctl00_cbxDemoWrapper").style.display = 'none';
			document.getElementById("ctl00_ctl00_globalMainContent_mainContent_ctl00_ddlEditionWrapper").style.display = 'inline';	        
	        if (!isPostBack && PageControls.cbxDemo.checked) 
	        {
	            PageControls.cbxDemo.checked = 'false';
	            PageControls.cbxDemo.checked = false;
	        }
	        
		    for (var i=0; i < editions[productItem].length; i++)
			    addOption(edition, editions[productItem][i]);
			    
			switch(productItem) {
			    case 0: setSelectedItem(edition, "Client"); break;
			    case 4: setSelectedItem(edition, "with sources"); break; 
			   /* case 5: case 6: case 7:
			        setSelectedItem(edition, "Enterprise"); break; */
			}     
	    } else if (productItem == 8) {
			document.getElementById("ctl00_ctl00_globalMainContent_mainContent_ctl00_cbxDemoWrapper").style.display = 'none';
			document.getElementById("ctl00_ctl00_globalMainContent_mainContent_ctl00_ddlEditionWrapper").style.display = 'inline';
			versionBlock1.style.display = 'none';	
			versionBlock2.style.display = 'none';	
			
	        PageControls.ddlVersion.style.display = 'none';	
	        PageControls.ddlMinorUpdate.style.display = 'none';				
			PageControls.ddlEdition.style.display = 'none';	    
	    } else {
	        edition.style.display = 'none';
	        document.getElementById("ctl00_ctl00_globalMainContent_mainContent_ctl00_cbxDemoWrapper").style.display = 'inline';
			document.getElementById("ctl00_ctl00_globalMainContent_mainContent_ctl00_ddlEditionWrapper").style.display = 'none';	        
	        if (!isPostBack)
	            PageControls.cbxDemo.checked = 'true';
	    }
    } 
}

function versionChanged(obj)
{
	var product = getSelectedItem(PageControls.ddlProduct);
	var version = getSelectedItem(obj);

	var select = PageControls.ddlMinorUpdate;
	clearSelect(select);

	if (product < 0 || product >= versions.length) return;
	if (version < 0 || version >= versions[product].length) return;

	var updates = versions[product][version].updates;

	if (updates.length == 0) addOption(select, versions[product][version].name);
	if (updates.length >  1) addOption(select, "-", "");

	for (var i=0; i < updates.length; i++)
		addOption(select, updates[i]);
}

function changeRequest(obj)
{

    //clear and hide description
    var rd = document.getElementById("requestDescription");
    if (rd) 
    {
        rd.style.display = "none";    
    }
    
	var ddlRequestType = PageControls.ddlRequestType;
	var product = getSelectedItem(PageControls.ddlProduct);
	
	if (product < 0 || product >= requests.length) 
	{
	    ddlRequestType.disabled = true;
	    return;
	}
	else
	{
	    ddlRequestType.disabled = false;	
	}
	
	
	//clear request types list
    while (ddlRequestType.childNodes.length) 
    {
        if (ddlRequestType.firstChild.tagName == 'OPTGROUP') 
        {
            while (ddlRequestType.firstChild.childNodes.length) {
                ddlRequestType.firstChild.removeChild(ddlRequestType.firstChild.firstChild);
            }
        }
        
        ddlRequestType.removeChild(ddlRequestType.firstChild);
    }
    
    //Add first option
    var option = document.createElement("OPTION");
    ddlRequestType.options.add(option);
    option.innerHTML = lng_ChooseOne;
    option.value = "";
	    

	for (var i=0; i < requests[product].length; i++)
	{
	    //add optgroup element
	    var oGroup = document.createElement("OPTGROUP");
	    oGroup.label = requests[product][i].group;
	    
	    for (var j=0; j < requests[product][i].requests.length; j++)
	    {
	        //add option element
	        var option = document.createElement("OPTION");
	        option.innerHTML = requests[product][i].requests[j].title;
	        option.value = requests[product][i].requests[j].value;
	        
	        if (selectedRequestType == requests[product][i].requests[j].value)
	        {
	           option.selected = true; 
	        }
	        
	        oGroup.appendChild(option);               
	    }
	    
	    ddlRequestType.appendChild(oGroup);
	}
}

function requestsChanged(obj)
{
    var rd = document.getElementById("requestDescription");
    var rdt = document.getElementById("requestDescriptionText");
    var rdi = document.getElementById("requestDescriptionIco");
    if (rd && rdi && rdt) 
    {
	    var productIndex = getSelectedItem(PageControls.ddlProduct);
		var requestIndex = getSelectedItem(PageControls.ddlRequestType);

		if (productIndex < 0 || productIndex >= requests.length) return;
		if (requestIndex < 0)		
		{
		    rd.style.display = "none";
		    return;
		}
		
		var pos = 0;
		if (typeof(requests[productIndex][0].requests[requestIndex]) == "undefined")
		{
            requestIndex = requestIndex - requests[productIndex][0].requests.length; 
		    rdt.innerHTML = requests[productIndex][1].requests[requestIndex].description;
		    pos = requests[productIndex][1].requests[requestIndex].position;
		}
		else
		{
		    rdt.innerHTML = requests[productIndex][0].requests[requestIndex].description;
		    pos = requests[productIndex][0].requests[requestIndex].position;		    
		}
		
		rdi.style.backgroundPosition = parseInt(pos) + "px 0px";
        rdi.style.display = "block";
        rd.style.display = "block";
    }
}


function isEmail(string)
{
    return (string.toLowerCase().search(/^[+a-z0-9_='%\.-]+\@[a-z0-9_\.-]+\.[a-z]{2,4}$/) != -1);
}

function checkEmail()
{
    if (PageControls.txtEmail.value.length == 0 || !isEmail(PageControls.txtEmail.value))
    {
        alert(lng_validEmail);
        PageControls.txtEmail.focus();
        return false;
    }
    
    return true;
}

function showSecondaryEmails()
{
    var txt = document.getElementById("secondaryEmailsTxt");
    var lbl = document.getElementById("secondaryEmailsLbl");
    if (txt && lbl) {
        if (txt.style.display == "none") {
            txt.style.display = "inline";
            lbl.style.display = "inline";
        }else{
            txt.style.display = "none";
            lbl.style.display = "none";
        }
    }

    return false;
}


/**
* Attachment
*/
var file_counter = 1;

function remove_file(button)
{
  var tr = button.parentNode;
  while (tr && tr.nodeName.toUpperCase() != "TR")
    tr = tr.parentNode;
  if (!tr) return false;

  var table = tr.parentNode
  while (table && table.nodeName.toUpperCase() != "TABLE")
    table = table.parentNode;
    
  table.tBodies[0].removeChild(tr);
  
  return false;
}

function add_file(button)
{
  var table = document.getElementById("tbl_files"); /*tr.parentNode*/
  while (table && table.nodeName.toUpperCase() != "TABLE")
    table = table.parentNode;


    file_counter++;
    var oTR = document.createElement("TR");
    table.tBodies[0].appendChild(oTR);

    var oTD = document.createElement("TD");
    oTR.style.height = "24px";
    oTR.appendChild(oTD);
    oTD.vAlign = "top";
    oTD.width = "300px";
    oTD.innerHTML = "<input type='file' size='30' name='file" + file_counter + "' />";

    oTD = document.createElement("TD");
    oTR.appendChild(oTD);
    oTD.vAlign = "middle";
    oTD.innerHTML += "<input type='button' name='btn_file" + file_counter + "' value='" + lng_Remove + "' " +
      "class='add_button' onclick='return remove_file(this)'>";

  return false;
}

/**
* Popup
*/
function getObjectPos(obj)
{
    var x = 0, y = 0;
    while (obj)
    {
        x += parseInt(obj.offsetLeft);
        y += parseInt(obj.offsetTop);
        obj = obj.offsetParent;
    }
    return { x:x, y:y };
}

function showPopup(anchor, visible)
{
    var div = document.getElementById(anchor.id + "_div");
    var pos = getObjectPos(anchor);
    pos.x = pos.x + anchor.offsetWidth + 7 + "px";
    pos.y = pos.y + anchor.offsetHeight + 7 + "px";
    div.style.left = pos.x;
    div.style.top = pos.y;
    
    div.style.display = visible ? "block" : "none";
}


function escapeTextForHTML(text)
{
  var eTbl = new Array();
  eTbl["\""] = "&quot;";
  eTbl["'"] = "&apos;";
  eTbl["<"] = "&lt;";
  eTbl[">"] = "&gt;";

  var newText = text;
  for (var key in eTbl) {
    newText = newText.replace(new RegExp(key, "ig"), eTbl[key]);
  }
  
  return newText;  
}

