var uploadct = 0;
function buildpage(obj)
{
	
	o = obj.getElementsByTagName("FORM");
	if( o.length )
	{
		f = o[0];
		el = f.elements;
		for( i = 0 ; i < el.length ; i++ )
		{
			//alert( el[i].getAttribute( 'upload'));
			if( el[i].type == 'hidden' && ( el[i].getAttribute('upload') == 1 || el[i].getAttribute('upload') == 3 ))
			{
				uploadimg( el[i], el[i].getAttribute( 'button'), el[i].getAttribute( 'maxsize'), el[i].getAttribute( 'upload'),obj);
			}
			else if( el[i].type == 'hidden' && el[i].getAttribute( 'upload') == 2 )
			{
				uploadfile( el[i], el[i].getAttribute( 'button'), el[i].getAttribute( 'maxsize'), el[i].getAttribute( 'upload'),obj );
			}
		}
	}
}

function uploadfile( field, bottitle, maxsize,utype, obj )
{
	var ident = field.name + uploadct++;
	var div, src;
	var bgcolor = field.getAttribute( 'bgcolor' );
	if( bgcolor == null ) bgcolor = '';
	bgcolor = escape( bgcolor );
	field.id = 'hiddenupload' + ident;
	field.ident = ident;
	src = field.value;
	//field.basevalue = src;
	div = $('dvFile');//ce( 'div' );
	div.className = 'uploaddiv';
	div.innerHTML = '<iframe src="../../../comp/cmp_user/web/uploader.php?ident='+ ident + '&type='+utype+'&max=' + maxsize + '&bot=' + bottitle + '&bgcolor=' + bgcolor + '" scrolling="No" frameborder="No" id="fileiframe' + ident + '" class="uploadiframe"></iframe>';
	//field.parentNode.insertBefore( div, field );
	$('txtFile').canvas = obj;
}
function uploadimg( field, bottitle, maxsize,utype, obj )
{
	
	var ident = field.name + uploadct++;
	var div, src;
	var bgcolor = field.getAttribute( 'bgcolor' );
	if( bgcolor == null ) bgcolor = '';
	bgcolor = escape( bgcolor );
	field.id = 'hiddenupload' + ident;
	field.ident = ident;
	src = field.value;
	field.basevalue = src;
	if( src == '' ) src = '../../../include/images/img_noimage.gif';
	if($('uploadimage'))
	{
		var img = $('uploadimage');	
		img.src = src;
	}
	if(utype==3)	
	{
		if($('uploadimage1'))
		{
			var img1 = $('uploadimage1');
			img1.src = src;
		}
	}
	div = ce( 'div' );
	div.className = 'uploaddiv';
	div.innerHTML = '<iframe src="../../../comp/cmp_user/web/uploader.php?ident='+ ident + '&type='+utype+'&max=' + maxsize + '&bot=' + bottitle + '&bgcolor=' + bgcolor + '" scrolling="No" width="100" height="30" frameborder="No" id="fileiframe' + ident + '" class="uploadiframe"></iframe>';
	field.parentNode.insertBefore(div, field);
	//$('uploadimage'+ident).canvas = obj;
}
function uploadimgloaded( img )
{
	var obj = img.canvas;
	//if( isdefined( obj.onchange ) ) obj.onchange();
}

function uploadcomplete( ident, src,utype )
{
	if(utype == 3)
		var img = $('uploadimage1');
	else		
		var img = $('uploadimage');
	var hidden = $('hiddenupload'+ident);
	hidden.value = src;
	if ( src == '' ) src = '../../../include/images/blankimg.gif';
	if(img)
	{
		img.src = src;
		img.onload = function() { uploadimgloaded( this ) };
	}
	
}

function formsub( w, f, noxml )
{
	var xml = isdefined( noxml ) ? noxml : 1;
	var fscript = xml ? 'formresult' : 'resultform';
	ajaxrequest( nocache( f.action ), fscript, w, xml, 'POST',formcontent(f) );
	return false;
}

function formresize( obj )
{
	//set form height
	if( isdefined( obj.bcount ) )
	{
//		var bcount = obj.bcount;
//		max1 = $('formhead'+bcount).clientHeight + $('formmenu'+bcount).clientHeight
//		max2 = $('formhead'+bcount).clientHeight + $('formcanvas'+bcount).clientHeight;
//		$('form'+bcount).style.height = max1 > max2 ? max1 : max2;
	}
}


function resultform( txt, obj )
{   
	var f, el, i, o;
	var bcount = obj.bcount;
	var onchange = obj.onchange;
	obj = $(obj.id);
	obj.bcount = bcount;
	obj.onchange = onchange;
	obj.innerHTML = txt;
	o = obj.getElementsByTagName("FORM");
	obj.formdiv = 1;
	buttonizeall( obj );
	if( o.length )
	{
		f = o[0];
	}
	
	if( o.length )
	{
		f = o[0];
		if( f.className == '' ) f.className = 'forminput';
		//f.style.display="block";
		f.onsubmit = function() {
		if(document.getElementById('LoadingMsg'))
		{
			document.getElementById('LoadingMsg').style.display = "block";
			f.style.display="none";
		}
			
		 return formsub(mywin(this),this); 
		 }
		el = f.elements;
			
		//# - remember me signin page
		if(getbasename(f.action) == 'mem_signin_ajax.php')
		{
			if(getCookie ('PSO_Remember'))
			{
				document.getElementById('txtUsername').value = getCookie ('PSO_Remember') ;
				document.getElementById('hidChkRemember').value = 1;
				document.getElementById('ChkRemember').checked = true;
			}
			
		}
		//reset uploaded file
		f.onreset = function()
		{
			for( i = 0 ; i < el.length ; i++ )
			{
				var name = el[i].name;
				formremoveerrmsg( name );
				if( el[i].type == 'hidden' && (el[i].getAttribute( 'upload') == 1 || el[i].getAttribute( 'upload') == 2) )
				{
					uploadcomplete( el[i].ident, el[i].basevalue,el[i].getAttribute( 'upload') );
				}
			}
		}
		for( i = 0 ; i < el.length ; i++ )
		{
			if( el[i].type == 'hidden' && (el[i].getAttribute( 'upload') == 1 || el[i].getAttribute( 'upload') == 3|| el[i].getAttribute( 'upload') == 4 || el[i].getAttribute( 'upload') == 5))
			{
				uploadimg( el[i], el[i].getAttribute( 'button'), el[i].getAttribute( 'maxsize'), el[i].getAttribute( 'upload'),obj );}
			else if( el[i].type == 'hidden' && el[i].getAttribute( 'upload') == 2 )
				uploadfile( el[i], el[i].getAttribute( 'button'), el[i].getAttribute( 'maxsize'), el[i].getAttribute( 'upload'),obj );
			
		}
		for( i = 0 ; i < el.length ; i++ )
		{
			if( el[i].type == 'text' ) 
			{ 
			
				if(el[i].style.visibility != "hidden")
				{
					el[i].select(); 
					el[i].focus(); 
				}
				break; 
			}
		}
			
	}
	
	var s = obj.getElementsByTagName("SCRIPT");
	for( i = 0 ; i < s.length ; i++ )
	{
		//alert( s[i].text )
		var ns = ce('SCRIPT');
		ns.type = 'text/javascript';
		ns.text = s[i].text;
		document.body.appendChild( ns );
	}
	for( i = 0 ; i < s.length ; i++ )
		s[i].parentNode.removeChild( s[i] );

	buttonizeall( obj )
	if( isdefined( obj.onchange ) ) obj.onchange();
	
	
	//}
}

function formremoveerrmsg( name )
{
		var err = $(name+'_err')
		if( err != null )
		{
			err.parentNode.removeChild( err );
			err.innerHTML = '';
			err.style.display = 'none';
		}
}

function formcontent( f )
{ 
	var obj, el, i, vals, name, val, args, err;
	obj = f;
	el = obj.elements;
	vals = new Array(el.length);
	for( i = 0 ; i < el.length ; i++ )
	{
		var name = el[i].name;
		formremoveerrmsg( name );
		//alert(el[i].type);
		if( el[i].type == 'select-one' ) {val = el[i].selectedIndex >= 0 ? el[i].options[el[i].selectedIndex].value : '' }
		else if(el[i].type == 'select-multiple') 
		{ 
			var aval = new Array;
			for( var j = 0 ; j < el[i].options.length ; j++ )
				if( el[i].options[j].selected ) aval.push( el[i].options[j].value);
			val = aval.join(',');
		}
		else if( el[i].type == 'radio' ) val = el[i].checked;
		else if( el[i].type == 'checkbox' ) val = el[i].checked;
		else 
		{
			val = el[i].value;
			//alert(val);
		}

		vals[i] = name + '=' + escape(val);
	}
	vals[vals.length] = 'formid=' + f.id;
	return replacespecialchar(vals.join('&'),'+','%2B')
}

function ffLoadXMLBrowser(strXML) 
{ 
  if(document.implementation && document.implementation.createDocument)  
  { 
		 xmlParser = new DOMParser(); 
	   xmlDocum = xmlParser.parseFromString( strXML, 'text/xml'); 
	   xmlSerializer = new XMLSerializer(); 
	   
  } 
  else if(window.ActiveXObject) { 
	   // IE 
	   xmlDocum = new ActiveXObject("Microsoft.XMLDOM"); 
	   xmlDocum.async=false; 
	   xmlDocum.loadXML( strXML); 
  } 
  //alert(xmlDocum.xml); 
  return xmlDocum; 
}
function formresult( xml, obj, txt )
{
	var status = vtag(xml,'status');
	if( status == '' )
	{
		//debug( '<textarea rows=10 cols=40>' + txt + '</textarea>' );
	}
	//status = parseInt( vtag(xml,'status') );
	var qryerror = vtag(xml,'qryerror');

	if( qryerror != '' )
	{
		//debug( qryerror );
		return;
	}
	//alert(xml.getElementsByTagName('status')[0].text);
	status *= 1;

	if( status )
	{
		var okmess, okscript, okurl;
		okmess = vtag( xml, 'okmess' );
		if( okmess != '' ) 
		{
			obj.innerHTML = '<br><center><b>'+okmess+'</center><br><br><br><br>';
			//obj.style.color = "red";
			obj.className = "bluenormal";
		}
		okscript = vtag( xml, 'okscript' );
		if( okscript != '' ) eval( okscript );
		okurl = vtag( xml, 'okurl' );
		if( okurl != '' ) 
		{
			//# - Setting for Cookie
			var fromid = vtag( xml, 'fromid' );
			var ckremember = vtag( xml, 'ckremember' );
			if(fromid)
			{
				if(ckremember == 1)
				{
					setCookie ('PSO_Remember', fromid);
				}
				else
					delCookie('PSO_Remember');
			}
			document.location = okurl;
		}
		if( isdefined( obj.onsuccess ) ) obj.onsuccess();
	}
	else
	{
		
		var i;
		var errlist = ntag( xml, 'error' );
		var formid = vtag( xml, 'formid' );
		var field, form, parent;
		if(errlist)
		{
			if($('errormsg'))
			$('errormsg').innerHTML = "";
			//# - to display again if any error exist - By Jeyaseelan on 26/03/07
			if(isdefined(formid) && document.getElementById(formid) && document.getElementById(formid).style.display == "none"  )
				document.getElementById(formid).style.display="block";
		}
		for( i = 0 ; i < errlist.length ; i++ )
		{
			var errorcode = 0;
			var errid = vtag( errlist[i], 'errid' ) + '_err';
			errobj = $(errid);
			if( errobj ) errobj.parentNode.removeChild( errobj );
			errobj = ce( 'div' );
			errobj.id = vtag( errlist[i], 'errid' ) + '_err';
			errobj.className = 'error';
			errobj.style.display = 'block';
			errobj.innerHTML = vtag( errlist[i], 'errmess' );
			//# - To call Mail function thru Login page - Added by Jeyaseelan on 31/08/07
			if(vtag( errlist[i], 'errorcode' ))
				errorcode = vtag( errlist[i], 'errorcode' );
			
						
			if( formid != '' )
			{
				
				
				form = $(formid);
				field = form[vtag( errlist[i], 'errid' )];
				if( field != null )
				{
					parent = field.parentNode;
					
					for( j = 0 ; j < parent.childNodes.length; j++ )
					{
						if( parent.childNodes[j] == field ) break;
					}
					if( j == parent.childNodes.length-1 )
						parent.appendChild( errobj );
					else
						parent.insertBefore( errobj, parent.childNodes[j+1] );
										
					
							
					//#-- Showing JS Error Message If the Object type is hidden or select - Modified By Rajendran
					if(field.type == "hidden" || field.type == "select-multiple" || field.type == "select-one" ) 
						continue;
					else if(field.style.display != "none" && field.style.visibility != "hidden")
					{
						field.focus();
					}
						//#--
						
					
				}
				else { 		
							//debug( 'invalid errid', vtag( errlist[i], 'errid' ), vtag( errlist[i], 'errmess' ) );
							//#!-- added by sathiya
							
								
					}
			}
		}
	}
	
	if( isdefined( obj.onchange ) ) obj.onchange();
	
}


function forminput( id, title, script, loadingmessage )
{
	var id;
	var bcount;
	var formdiv;
	var out;
	//#-------
	if( id == '' )
	{
		id = 'form' + browserct;
		bcount = browserct++;
	}
	else
	{
		bcount = $(id).bcount;
	}
	
	if( $(id) == null)
	{
		document.write( '<div id="' + id + '" class="">Login Form</div>' );
	}
	if( !isdefined( loadingmessage ) ) loadingmessage = 'Loading...';
	
	formdiv = $(id);
	formdiv.bcount = bcount;
	formdiv.script = script;
	out = '<div class=listhead><div class=detailhead id="formhead' + bcount + '"><a name="formtop"></a></div><div class="formmenu" id="formmenu' + bcount + '"><br>';
	out += '</div></div><div class="formcanvas" id="formcanvas' + bcount + '"> <div class=loading>' + loadingmessage + '</div></div>';
	formdiv.innerHTML = out;
	canvas = $('formcanvas'+bcount);
	canvas.bcount = bcount;
	
	canvas.onchange = function() { formresize( this ); };
	ajaxrequest( nocache( script ), 'resultform', canvas, 0 );
	formresize( this );
//	document.title = "STYLELOGUE : "+title.toProperCase();
}

//# - This function is used to replace + by %2B - added by jeyaseelan on 08/02/07
function replacespecialchar(formcontent,replaceto,replaceby)
{
	return formcontent;
	var contentlength = formcontent.length;
	var findvar = formcontent.indexOf(replaceto);
	var newcontent = formcontent;
	while(findvar !=-1)
	{
		newcontent = newcontent.replace(replaceto,replaceby);
		findvar = newcontent.indexOf(replaceto);
	}
	return newcontent;
}
 
